繁体   English   中英

JSON和Android。 无法将json字符串转换为JSONObject

[英]JSON and Android. Can't Convert json string to JSONObject

我试图将以下json字符串转换为android中的JSONObject 但它会抛出JSONException 过去几个小时我一直在深思熟虑。 请帮忙。

JSON字符串:

parseExchangeRate({"query":
             {"count":1,"created":"2012-09-07T18:49:32Z","lang":"en-US","results":
                       {"row":{"rate":"55.395","name":"USD to INR"}}}});

例外:

Value <jsonobject>parseExchangeRate( of type java.lang.String cannot be converted to JSONObject

代码:

String result = convertStreamToString(instream);
Log.d(TAG, result); //this outputs the above stated string
JSONObject json = new JSONObject(result); // this line thows exception

提前致谢。

什么是JSON字符串? 你说它是,

parseExchangeRate({"query":
              {"count":1,"created":"2012-09-07T18:49:32Z","lang":"en-US","results":
                        {"row":{"rate":"55.395","name":"USD to INR"}}}});

但这看起来像一行javascript代码。 JSON!= javascript。 看起来您的Web服务正在传回JSONP响应。 这很好,但由于你不是一个javascript客户端,你需要从该响应中解析出实际的JSON字符串。

String result = convertStreamToString(instream);
Pattern p = Pattern.compile("^.*?\\((.*?)\\);$", Pattern.DOTALL);
Matcher m = p.matcher(result);
if (m.matches()) {
  String json = m.group(1);
  JSONObject jo = new JSONObject(json);
  ...
} else {
  // whoops
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM