gpt4 book ai didi

java - 无法使用 org.json 库解析 json 数组?

转载 作者:行者123 更新时间:2023-12-03 21:29:53 26 4
gpt4 key购买 nike

我有一个下面的 JSON 数组,我正在尝试解析它,但它给了我一个异常(exception):

[{
"response": {
"client": "123456",
"111": {
"data": "0\u00181535480381\u00191535480347\u0018\"voyager\";-1;12;0\u00181535480075\u00191535480069",
"time": "981542121421"
}
}
}]

我正在使用 org.json.JSONArray 解析上面的 JSON 但下面的代码抛出异常:

String json =
"[{ \"response\": { \"client\": \"123456\", \"111\": { \"data\": \"0\u00181535480381\u00191535480347\u0018\"voyager\";-1;12;0\u00181535480075\u00191535480069\", \"time\": \"981542121421\" } } }]";
// this line throws exception
JSONArray jsonArray = new JSONArray(json);

这是我看到的异常:

Exception in thread "main" org.json.JSONException: Expected a ',' or '}' at character 81
at org.json.JSONTokener.syntaxError(JSONTokener.java:410)
at org.json.JSONObject.<init>(JSONObject.java:222)
at org.json.JSONTokener.nextValue(JSONTokener.java:344)
at org.json.JSONObject.<init>(JSONObject.java:205)
at org.json.JSONTokener.nextValue(JSONTokener.java:344)
at org.json.JSONObject.<init>(JSONObject.java:205)
at org.json.JSONTokener.nextValue(JSONTokener.java:344)
at org.json.JSONArray.<init>(JSONArray.java:125)
at org.json.JSONArray.<init>(JSONArray.java:157)

我在这里做错了什么?

最佳答案

像下面这样在 voyager 周围放置转义字符。

\\\"voyager\\\"

我测试过它有效。

import org.json.JSONArray;

public class Test {

public static void main(String[] args) {
String json = "[{ \"response\": { \"client\": \"123456\", \"111\": { \"data\": \"0\u00181535480381\u00191535480347\u0018\\\"voyager\\\";-1;12;0\u00181535480075\u00191535480069\", \"time\": \"981542121421\" } } }]";
// this line throws exception
JSONArray jsonArray = new JSONArray(json);
}
}

因为它已经在 J​​OSN 中转义字符,所以你需要在 java 中进行双重转义以保留它们。

关于java - 无法使用 org.json 库解析 json 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52068440/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com