gpt4 book ai didi

java - 如何使用 Google Json Parsing API (Gson) 来解析我的 json 中的一些动态字段?

转载 作者:搜寻专家 更新时间:2023-10-31 08:24:29 25 4
gpt4 key购买 nike

我有一个在某些字段中可变的结构化 Json,我如何使用 Gson google json api 在 Java 中正确解析(反序列化)它?

Json 示例:

{ 
type: 'sometype',
fields: {
'dynamic-field-1':[{value: '', type: ''},...],
'dynamic-field-2':[{value: '', type: ''},...],
...
}

动态字段将根据发送的结构更改其名称。

有办法吗?

最佳答案

您可以按照 Raph Levien 的建议使用自定义(反)序列化,但是,Gson 本身就可以理解 map 。

如果你运行这个你会得到输出 {"A":"B"}

Map<String, String> map = new HashMap<String, String>();
map.put("A", "B");
System.out.println(new Gson().toJson(src));

map 现在可以包含您的动态键。要再次读取该 Json,您需要通过 TypeToken 将类型信息告诉 Gson,这是 Gson 记录 Java 删除的运行时类型信息的方式。

Map fromJson = 
new Gson().fromJson(
"{\"A\":\"B\"}",
new TypeToken<HashMap<String, String>>() {}.getType());
System.out.println(fromJson.get("A"));

希望对您有所帮助。 :)

关于java - 如何使用 Google Json Parsing API (Gson) 来解析我的 json 中的一些动态字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4818567/

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