Я борюсь с этой проблемой довольно долго. На самом деле, у меня есть 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");
}
Проблема заключается в том, что условие никогда не выполняется, и я даже не могу получить, например, в double X.
Не могли бы вы рассказать мне, что не так?
'{ "Версия": "0x1", "Тип": "MapPoint", «X»: 2, «Y»: 3} ' - текст, который я кодирую QR-код. Но я получаю его содержимое, которое равно: '' {\ "Version \": 0x1, \ "Type \": \ "MapPoint \", \ "X \": 2, \ "Y \" : 3} "' – fao