2016-07-27 4 views
1

Я борюсь с этой проблемой довольно долго. На самом деле, у меня есть 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.

Не могли бы вы рассказать мне, что не так?

ответ

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

Это уже JSON не приемлю никакой необходимости, чтобы преобразовать его снова, вы можете напрямую использовать его как следовать

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

'{ "Версия": "0x1", "Тип": "MapPoint", «X»: 2, «Y»: 3} ' - текст, который я кодирую QR-код. Но я получаю его содержимое, которое равно: '' {\ "Version \": 0x1, \ "Type \": \ "MapPoint \", \ "X \": 2, \ "Y \" : 3} "' – fao

Смежные вопросы