gpt4 book ai didi

java - Gson - 如何使用嵌套的 JSON 解析动态 JSON 字符串?

转载 作者:行者123 更新时间:2023-12-04 05:33:55 25 4
gpt4 key购买 nike

我有带有动态元素的 JSON 字符串,直到现在我将其解析为 Map:

Map map = new Gson().fromJson(jsonString, 
new TypeToken<HashMap<String, String>>() {}.getType());

现在我需要解决这种情况——这些动态变量之一可能是另一个 JSON 字符串。

你有什么建议可以解决它吗?提前致谢。

编辑:添加了 JSON 字符串示例(格式化):
{
"key1": "val1",
"key2": "val2",
"key3": {
"subkey1": [
"subvalue1",
"subvalue1"
],
"subkey‌​2": [
"subvalue2"
]
},
"key4": "val3"
}

最佳答案

你所说的另一个 JSON 字符串只是一个 json 对象。将 Map 值类型更改为 对象 来自 字符串 : TypeToken>

String jsonString = "{\"key1\":\"val1\",\"key2\":\"val2\",\"key3\": {\"subkey1\":\"subvalue1\",\"subkey2\":\"subvalue2\"},\"key4\":\"val3\"}";

Map<String, Object> map = new Gson().fromJson(jsonString, new TypeToken<Map<String, Object>>() {
}.getType());

上面的示例适用于 GSON 2.2.2。和 sysout(map) 产生
{key1=val1, key2=val2, key3={subkey1=subvalue1, subkey2=subvalue2}, key4=val3}

作为一个小的改进,我建议您明确指定映射类型参数,并为 TypeToken 使用 Map 而不是 HashMap。

关于java - Gson - 如何使用嵌套的 JSON 解析动态 JSON 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12214781/

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