2015-08-21 2 views
0
jsonUptimeRobotApi({"stat": "ok","account":{"monitorLimit":"50", "monitorInterval":"5", "upMonitors":"23", "downMonitors":"1", "pausedMonitors":"0"}}) 

Может кто-нибудь сказать мне способ разобрать его.Проблема, разобравшая этот формат json

+0

Это технически не JSON, его обратный вызов JavaScript, содержащий данные JSON. Это используется для междоменных запросов на веб-сайтах. Для приложений Android не запрашивайте обратный вызов (обычно? Callback = jsonUptimeRobotApi) или читайте документы API, чтобы узнать, есть ли способ явно отключить обратный вызов. – SteveEdson

ответ

3

Это очень похоже на ответ Flickrs с помощью jsonFlickrApi().

Возможно, вы можете прочитать документацию, вы можете добавить это в вызовы Flickr, чтобы получить обычный JSON &nojsoncallback=1.

Или, если все остальное терпит неудачу, вы могли бы сделать что-то вроде этого:

String jsonResponse = "jsonUptimeRobotApi({"stat": "ok","account":{"monitorLimit":"50", "monitorInterval":"5", "upMonitors":"23", "downMonitors":"1", "pausedMonitors":"0"}})"; 
int startIndex = jsonResponse.indexOf("(") + 1; 
int endIndex = jsonResponse.lastIndexOf(")") - 1; 
jsonResponse = jsonResponse.substring(startIndex, endIndex); 
JSONObject jo = new JSONObject(jsonResponse); 

Опять же, я рекомендовал бы против такого подхода, но это, вероятно, получите, что вы хотите.

+0

Это ссылка на время простоя api http://uptimerobot.com/api –

+1

Как я уже сказал, просто добавьте это в URL-адрес, который вы вызываете: '& noJsonCallback = 1' Нравится так:' http: //api.uptimerobot .com/getAccountDetails? apiKey = ХХХХХ & формат = & noJsonCallback JSON = 1 '. Рекомендуем удалить ключ API :). –

+0

, который не работал и может у вас, пожалуйста, уточните, что означало u, удалив ключ api. –

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