gpt4 book ai didi

java - 迭代 json 对象列表?

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

我必须迭代 json 对象(“local_properties”)列表,并检查每个对象是否“is_built_in”= false。我该怎么做呢。我收到以下 json 作为 GET API 的响应。

{
"id": 1,
"local_properties": [
{
"id": 1000221,
"name": "RSCD_DIR",
"data_type": "String",
"default_value_source": "SystemObject/local",
"value": "/C/PROGRA~1//",
"is_built_in": true,
"is_deprecated": true
},
{
"id": 1000221,
"name": "RSCD_DIR",
"data_type": "String",
"default_value_source": "SystemObject/local",
"value": "/C/PROGRA~1//",
"is_built_in": false,
"is_deprecated": true
},
{
"id": 1000221,
"name": "RSCD_DIR",
"data_type": "String",
"default_value_source": "SystemObject/local",
"value": "/C/PROGRA/",
"is_built_in": true,
"is_deprecated": true
}
]
}

最佳答案

考虑使用 Jackson 对您的响应进行反序列化,然后您将能够迭代“local_properties”并在“is_built_in”为 true 时执行给定的操作。以下代码片段展示了实现此目的的一种方法,假设您能够将 json 反序列化为 Jacksons JsonNode。

String sampleJson = "{\n" +
" \"id\": 1,\n" +
" \"local_properties\": [\n" +
" {\n" +
" \"id\": 1000221,\n" +
" \"name\": \"RSCD_DIR\",\n" +
" \"data_type\": \"String\",\n" +
" \"default_value_source\": \"SystemObject/local\",\n" +
" \"value\": \"/C/PROGRA~1/BMCSOF~1/BLADEL~1/rscd/\",\n" +
" \"is_built_in\": true,\n" +
" \"is_deprecated\": true\n" +
" },\n" +
" {\n" +
" \"id\": 1000221,\n" +
" \"name\": \"RSCD_DIR\",\n" +
" \"data_type\": \"String\",\n" +
" \"default_value_source\": \"SystemObject/local\",\n" +
" \"value\": \"/C/PROGRA~1/BMCSOF~1/BLADEL~1/rscd/\",\n" +
" \"is_built_in\": false,\n" +
" \"is_deprecated\": true\n" +
" }]}";
ObjectMapper mapper = new ObjectMapper();
JsonNode json = mapper.readValue(sampleJson, JsonNode.class);
json.get("local_properties").elements().forEachRemaining(node -> {
if (node.get("is_built_in").asBoolean()) {
//Do Something when is_built_in is true
}
});

关于java - 迭代 json 对象列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60072345/

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