我有这个JSONObject:
{
"gutter_url" : "",
"sort_order" : "popularity",
"result" : [
{
"afs" : "Y",
"release_year" : 1979,
"album_sort" : "Wall, The"
}
]
}
并希望将数组放在“结果”位置,
所以我写了这段代码:
JSONObject allCDs = new JSONObject(objectString);
JSONArray CD_List = allCDs.getJSONArray("result");
但后来我得到了这个例外:
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.(JSONObject.java:179)
at org.json.JSONObject.(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)
解决方法:
您可能将STRING传递给带有前导空格的JSONObject.尝试修剪
JSONObject allCDs = new JSONObject(objectString.replace(/^\s+/,""));
编辑:我认为这是javascript.尝试使用Java代码修剪它
JSONObject allCDs = new JSONObject(objectString.trim());
如果仍然不起作用,则显示字符串中的第一个字符:
System.out.println((int)objectString.trim().charAt(0));
你应该期待123,花括号.实际上,检查整个内容
System.out.println((int)objectString); // or
System.out.println((int)objectString.trim());
你也可以尝试在字符串之前切割所有内容
JSONObject allCDs = new JSONObject(objectString.substring(objectString.indexOf('{')));
标签:java,json
来源: https://codeday.me/bug/20190926/1820113.html