我很长一段时间都在努力解决这个问题。 事实上,我有一个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.
你能告诉我有什么问题吗?答案 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;