Android解析JSON 报JSON.typeMismatch错误,求大家帮帮忙

有两组数据data1和data2,data1是我动手打进去的,data2是用php输出的,我把php网站的输入直接复制进到data2.。第一组数据解析成功,第二组数据报错... 有两组数据data1和data2,data1是我动手打进去的,data2是用php输出的,我把php网站的输入直接复制进到data2. 。第一组数据解析成功,第二组数据报错。我百思不得其解。。求大家帮帮忙.
代码:

String data1="{\"operate\":\"1\",\"centent\":null,\"info\":\"\u767b\u5f55\u6210\u529f\"}";
String data2="{\"operate\":\"1\",\"centent\":null,\"info\":\"\u767b\u5f55\u6210\u529f\"}";
JSONObject json=new JSONObject(data1);
String op=json.getString("info");
第一组:成功截图

第二组的错误:JSONException: Value  of type java.lang.String cannot be converted to JSONObject
at org.json.JSON.typeMismatch(JSON.java:107)
问了一个朋友才知道原因:php输出的JSON数据前面有空格。正确的方法是:
JSONObject json=new JSONObject(data.substring(data.indexOf("{"),
data.lastIndexOf("}") + 1));希望可以帮到别人。
展开
 我来答
百度网友a85b46e580
2014-08-15 · TA获得超过162个赞
知道小有建树答主
回答量:255
采纳率:0%
帮助的人:182万
展开全部
应该是你输出的数据有问题,不是标准的json字符串格式,建议lz打印或调试看看Php输出的数据是不是跟data1的数据一致。
有疑问,请追问。望采纳!
追问
	{"operate":1,"centent":null,"info":"\u767b\u5f55\u6210\u529f"} 这是登录成功PHP网站输出JSON格式的数据。就是这数据解析不出来。我动手打进去的数据却可以解析
小泽泽网络
2014-08-15
知道答主
回答量:3
采纳率:0%
帮助的人:3921
展开全部
那个应该不是php的 我猜应该是asp.net的
追问
网站是自己用php写的,用这个echo json_encode($data);输出data对象。不是asp.net
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
栖扣乃3
2014-08-15
知道答主
回答量:8
采纳率:0%
帮助的人:8718
展开全部
是你解析错误 自己检查一下就没事了
追问
两组的解析代码是一样的,就是数据data1换成data2,居然结果是不一样的。。我搞了一天都没搞明白哪里错了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式