从字符串获取JsonObject时出错

时间:2016-07-27 10:15:38

标签: json xamarin.android

我很长一段时间都在努力解决这个问题。 事实上,我有一个QR码,我有这个文本:

{ "Version ":  0x1, "Type ": "MapPoint ",  "X ": 2, "Y ": 3} 

然后我将此QR码的内容转换为Json对象:

JSONObject scanQRCode = new JSONObject(contents);

当我调试时,我发现字符串内容是这样的:

" { \"Version \":  0x1, \"Type \": \"MapPoint \",  \"X \": 2, \"Y \": 3} "

ScanQRCode等于:

    {{"Version ":1,"Type ":"MapPoint ","X ":2,"Y ":3}}  Org.Json.JSONObject

在我的代码中,我必须验证这个条件并获得双X和Y如下:

     if (scanQRCode.Has("Version") && scanQRCode.GetInt("Version") >= 0x1 && scanQRCode.Has(KEY_QR_TYPE) && scanQRCode.GetString("Type").Equals(("MapPoint")))
 {
 float x = (float)scanQRCode.GetDouble("X");
  float y = (float)scanQRCode.GetDouble("Y");
}

问题是条件永远不会实现,我甚至无法获得双X.

你能告诉我有什么问题吗?

1 个答案:

答案 0 :(得分:0)

{ "Version":  "0x1", "Type":"MapPoint",  "X": 2, "Y": 3}

这已经是一个json对象,无需再次转换它,你可以直接使用它如下

var a = { "Version":  "0x1", "Type":"MapPoint",  "X": 2, "Y": 3}
float x = a.X;