gpt4 book ai didi

java - 在 Java 中将 JsonString 解析为 JsonObject

转载 作者:搜寻专家 更新时间:2023-11-01 02:26:46 27 4
gpt4 key购买 nike

我有以下字符串:

{
"response": true,
"model_original_id": "5acea0b5:1431fde5d6e:-7fff",
"model_new_id": 500568,
"model_new_version": 1,
"reload": true,
"idsModelProperties": [{
"key": "creation_date",
"value": "2013-12-23"
},
{
"key": "state",
"value": 1,
"displayValue": "Analisi"
}],
"idsNodes": [],
"idsConnectors": [],
"idsNodesProperties": []
}

我需要将其解析为 JSONObject。我试着用quickjson 但它在尝试解析 emty string 时给了我一个异常。这是我试过的:

JsonParserFactory factory=JsonParserFactory.getInstance();
JSONParser parser=factory.newJsonParser();
Map jsonData=parser.parseJson(response_output);

异常:线程“main”中的异常 com.json.exceptions.JSONParsingException:@Key-Hierarchy::root/idsNodes[0]/@Key::预期值但发现为空...@Position::256

有什么想法吗?

最佳答案

我会给你一个替代方案,因为它看起来像 quick-json 解析空 json 数组有问题。查看Gson .

String json = "{ \"response\": true, \"model_original_id\": \"5acea0b5:1431fde5d6e:-7fff\", \"model_new_id\": 500568, \"model_new_version\": 1, \"reload\": true, \"idsModelProperties\": [{ \"key\": \"creation_date\", \"value\": \"2013-12-23\" }, { \"key\": \"state\", \"value\": 1, \"displayValue\": \"Analisi\" }], \"idsNodes\": [], \"idsConnectors\": [], \"idsNodesProperties\": []}";
JsonParser jsonParser = new JsonParser();
JsonElement jsonElement = jsonParser.parse(json);

JsonElement 是一个抽象类。它的子类型是JsonArrayJsonNullJsonObjectJsonPrimitive。在上面的例子中,实际实例是一个 JsonObject 因为你的 json String 是一个 json 对象。它内部包含一个 LinkedTreeMap 但您实际上并不需要访问它。您可以直接在 JsonElement 上访问不同的 json 对象。

关于java - 在 Java 中将 JsonString 解析为 JsonObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20746464/

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