The json in json lint Каждый подобный ответ на это, который я нашел, некорректно использует JSONArray. Я использую JSONObject.JSONException при попытке проанализировать результат HttpResponse
HttpResponse response = httpClient.execute(httpGet);
String json_string = EntityUtils.toString(response.getEntity(), "UTF-8");
updateBoundaries(new JSONObject(json_string));
System.out.println(json_string);
Получает мне ошибку
org.json.JSONException: Значение { "TopLeftCorner": { "долгота": 0.0, "широта": 100,0}, "TopRightCorner": { "долготу »: 100.0,« Широта »: 100.0},« BottomLeftCorner »: {« Долгота »: 0.0,« Широта »: 0.0},« BottomRightCorner »: {« Долгота »: 100.0,« Широта »: 0.0}} типа java .lang.String не может быть преобразован в JSONObject
Однако, когда я копирую JSON в JSON Lint, все в порядке. Когда я распечатать строку он пытается разобрать, это выглядит как
"{\" TopLeftCorner \ ": {\" Долгота \ ": 0,0, \" Широта \ ": 100,0}, \" TopRightCorner \ ": {\" Долгота \ ": 100,0, \" Широта \ ": 100,0}, \" BottomLeftCorner \ ": {\" Долгота \ ": 0,0, \" Широта \ ": 0,0}, \" BottomRightCorner \ ": {\ "Долгота \": 100,0, \ "Широта \": 0,0}}»
похоже, он должен быть приемлемым в формате JSON, но JSONObject не может разобрать его по какой-то причине. Что происходит?
Edit: StackTrace
W/System.err: org.json.JSONException: Value {"TopLeftCorner":{"Longitude":0.0,"Latitude":100.0},"TopRightCorner":{"Longitude":100.0,"Latitude":100.0},"BottomLeftCorner":{"Longitude":0.0,"Latitude":0.0},"BottomRightCorner":{"Longitude":100.0,"Latitude":0.0}} of type java.lang.String cannot be converted to JSONObject
W/System.err: at org.json.JSON.typeMismatch(JSON.java:111)
W/System.err: at org.json.JSONObject.<init>(JSONObject.java:160)
W/System.err: at org.json.JSONObject.<init>(JSONObject.java:173)
W/System.err: at com.example.chan.locationapiapp.MainActivity$1$1.run(MainActivity.java:62)
W/System.err: at java.lang.Thread.run(Thread.java:761)
Вы 'toString()' 'd уже действующая строка JSON. –
Также обратите внимание: Apache HTTP устарел на Android. Волейбол может делать запросы JSON. https://developer.android.com/training/volley/request.html#request-json –
Спасибо! Я попытаюсь использовать это вместо этого. Мне надоело общаться с ошибками JSON - если Волли может сделать это для меня, это будет намного лучше. –