Java org.json.JSONObject构造函数不接受看似有效的json字符串
我在一个Java org.json.JSONObject构造函数不接受看似有效的json字符串,java,android,json,jsonobject,android-json,Java,Android,Json,Jsonobject,Android Json,我在一个Android应用程序中有一个string,我正试图将它转换成JSONObject。字符串如下所示(除了较长的字符串和实际值,而不是我在此处输入的伪值): 我已经将这个确切的字符串输入到两个在线JSON验证程序s中,两个都确认它是有效的JSON数据。因此我假设JSONObject构造函数能够接受这个字符串并将其转换为JSONObject。但当我尝试时: json = new JSONObject(result); 如果“result”是一个包含上述字符串的字符串变量,则会出现以下异常:
Android
应用程序中有一个string
,我正试图将它转换成JSONObject
。字符串
如下所示(除了较长的字符串和实际值,而不是我在此处输入的伪值):
我已经将这个确切的字符串
输入到两个在线JSON验证程序
s中,两个都确认它是有效的JSON数据
。因此我假设JSONObject
构造函数能够接受这个字符串并将其转换为JSONObject
。但当我尝试时:
json = new JSONObject(result);
如果“result”是一个包含上述字符串的字符串变量,则会出现以下异常:
JSONException: A JSONObject text must begin with '{' at character 1 of [[{"1":"a"}],[{"1a":"1a","1b":"1b"},{"2a":"2a","2b":"2b"}]]
这是怎么回事?
JSONObject
的解析器是否已损坏?您试图创建一个JSONObject,但实际提供的是一个JSONArray。您是否尝试过创建JSONArray
或者,您可以将数组包装到一个对象中,这样就可以从中创建一个JSONObject。我建议改用,因为它看起来功能更全面
此外,使用它来测试您的数据(顺便说一句,您的数据是有效的):好吧,好吧。这正是问题所在。为什么我没看到?非常感谢。JSONObject JSONObject=new JSONObject(json.toString())…此行抛出一个错误,表示“没有为JSONObject(String)找到合适的构造函数”
JSONException: A JSONObject text must begin with '{' at character 1 of [[{"1":"a"}],[{"1a":"1a","1b":"1b"},{"2a":"2a","2b":"2b"}]]