我读取json数据明明是 { 开头,}结尾的。可android为啥总是报错:JSONObject text must begin with '{' a

纠结10多天了,望高手指点。一定给高分。
非成勿扰,不知道请别添乱了。谢谢

说不定你{"success":true,"msg":"成功"}在程序里是用双引号引起来的呢,把一个String类型的字符串和把一个字符串转换成JSON数据是不一样的,区别就是{"result":"OK","message":"操作成功"}与“{"result":"OK","message":"操作成功"}”
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-07-21
我遇到这种问题有两种解决办法:1、如果只是测试,可以将字符串放在nopad++中,你将字符全部显示,会发现在{前面会有一个字符,你可以使用nopad++的utf8的无bom格式编码,这样就可以生成了2、如果是生产中,比如在数据库返回的,遇到这种情况,可以将数据存进map,然后取出来,就可以生成json,这个方法虽然笨了点,但是能解决这个问题,望采纳
第2个回答  2014-04-30
String jsonStr1 = "{'name':111,'child':'1'}";
String jsonStr2 = "{'name':111,'child':'1'}";
char c1 = jsonStr1.charAt(0);
System.out.println(0+c1);
char c2 = jsonStr2.charAt(0);
System.out.println(0+c2);

我找到原因了,这两个“{”不一样,你肯定是用了另外一个
第3个回答  2012-04-18
{"success":true,"msg":"成功"} 这样的格式没有问题的,它里面的key/value你也给套上引号,value是数字的不用,再试试本回答被网友采纳
第4个回答  2013-01-16
你是从什么地方获取json字符串的?自己编写的 还是服务器返回的? 如果是服务器返回的请查看你的请求 返回的字符串是否为null。我今天就做这个了也报这个错误 找了一上午才知道我请求返回的对象是null。