我有这个JSONObject:
{
"gutter_url" : "",
"sort_order" : "popularity",
"result" : [
{
"afs" : "Y",
"release_year" : 1979,
"album_sort" : "Wall, The"
}
]
}
Run Code Online (Sandbox Code Playgroud)
并希望将数组放在"结果"的位置,所以我写了这段代码:
JSONObject allCDs = new JSONObject(objectString);
JSONArray CD_List = allCDs.getJSONArray("result");
Run Code Online (Sandbox Code Playgroud)
但后来我得到了这个例外:
Exception in thread "main" org.json.JSONException: A JSONObject text must begin with '{' at character 1
at org.json.JSONTokener.syntaxError(JSONTokener.java:410)
at org.json.JSONObject.<init>(JSONObject.java:179)
at org.json.JSONObject.<init>(JSONObject.java:402)
at de.htwberlin.gim.Aufgabe8_5.getCoversFor(Aufgabe8_5.java:55)
at de.htwberlin.gim.Aufgabe8_5.main(Aufgabe8_5.java:77)
Run Code Online (Sandbox Code Playgroud)
Ric*_*iwi 16
您可能将STRING传递给带有前导空格的JSONObject.尝试修剪
JSONObject allCDs = new JSONObject(objectString.replace(/^\s+/,""));
Run Code Online (Sandbox Code Playgroud)
编辑:我认为这是javascript.尝试使用Java代码修剪它
JSONObject allCDs = new JSONObject(objectString.trim());
Run Code Online (Sandbox Code Playgroud)
如果仍然不起作用,则显示字符串中的第一个字符:
System.out.println((int)objectString.trim().charAt(0));
Run Code Online (Sandbox Code Playgroud)
你应该期待123,花括号.实际上,检查整个内容
System.out.println((int)objectString); // or
System.out.println((int)objectString.trim());
Run Code Online (Sandbox Code Playgroud)
你也可以尝试在字符串之前切割所有内容
JSONObject allCDs = new JSONObject(objectString.substring(objectString.indexOf('{')));
Run Code Online (Sandbox Code Playgroud)
此行末尾有两个逗号:
"sort_order" : "popularity",,
Run Code Online (Sandbox Code Playgroud)
它可能应该是一个逗号:
"sort_order" : "popularity",
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
73539 次 |
| 最近记录: |