java上机面试题 039_java – JSONObject文本必须以'{‘开头

我有这个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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值