gpt4 book ai didi

java - 如何迭代 JsonObject (gson)

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:52:39 25 4
gpt4 key购买 nike

我有一个 JsonObject 例如

JsonObject jsonObject = {"keyInt":2,"keyString":"val1","id":"0123456"}

每个 JsonObject 都包含一个 "id" 条目,但其他键/值对的数量未确定,所以我想创建一个具有 2 个属性的对象:

class myGenericObject {
Map<String, Object> attributes;
String id;
}

所以我希望我的属性映射看起来像这样:

"keyInt" -> 4711
"keyStr" -> "val1"

我找到了这个解决方案

Map<String, Object> attributes = new HashMap<String, Object>();
Set<Entry<String, JsonElement>> entrySet = jsonObject.entrySet();
for(Map.Entry<String,JsonElement> entry : entrySet){
attributes.put(entry.getKey(), jsonObject.get(entry.getKey()));
}

但是这些值被 ""

括起来
"keyInt" -> "4711"
"keyStr" -> ""val1""

如何获取普通值(4711"val1")?

输入数据:

{
"id": 0815,
"a": "a string",
"b": 123.4,
"c": {
"a": 1,
"b": true,
"c": ["a", "b", "c"]
}
}

{
"id": 4711,
"x": false,
"y": "y?",
}

最佳答案

将“”替换为空白。

   Map<String, Object> attributes = new HashMap<String, Object>();
Set<Entry<String, JsonElement>> entrySet = jsonObject.entrySet();
for(Map.Entry<String,JsonElement> entry : entrySet){
if (! nonProperties.contains(entry.getKey())) {
properties.put(entry.getKey(), jsonObject.get(entry.getKey()).replace("\"",""));
}
}

关于java - 如何迭代 JsonObject (gson),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27964498/

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