从字符串获取JsonObject时出错
问题描述:
我很长时间以来一直在解决这个问题。 其实,我有一个QR码中,我有这样的文字:从字符串获取JsonObject时出错
{ "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.
你能告诉我什么是错的?
答
{ "Version": "0x1", "Type":"MapPoint", "X": 2, "Y": 3}
这已经是一个JSON对象,没有必要再次转换就可以直接使用它作为跟随
var a = { "Version": "0x1", "Type":"MapPoint", "X": 2, "Y": 3}
float x = a.X;
'{ “版本”: “为0x1”, “类型”: “MapPoint的”, “X”:2,“Y”:3}' 是我编码为QR码的文本。 但我得到它的内容然后等于: '“{\”Version \“:0x1,\”Type \“:\”MapPoint \“,\”X \“:2,\”Y \“ :3}“' – fao