java - 在JAVA中遍历多个JSON数组
问题描述
我想知道是否有人可以提供帮助。如果给定 JSON 对象中错误的位置,是否有一种简单有效的方法来遍历 JSON 对象?例如,假设我使用下面的 JSON 请求访问了一个服务,它返回一个错误的请求,指出字段中的值:
Cars[1]。制造商 [2].CarDetails[Doors]
无效(请求的最后一个元素 - 带有 100 个门的 Toyota Hybrid)。
鉴于返回的错误,是否有一种简单的方法可以遍历请求以提取该汽车的注册?即在下面的示例中,Toyato Hybrid 上的门的值无效,因为它是 100。我希望能够遍历我的 JSON 请求以撤回有问题的车辆的注册。在此示例中,应返回“Reg123”。
任何帮助是极大的赞赏。
"Cars": [{
"Manufacturers": [{
"Manufacturer": "Audi"
"CarDetails": {
"Model": "A4",
"Doors": "3",
"Registration": "abc123",
"Transmission": "Automatic"
}
}, {
"Manufacturer": "BMW",
"CarDetails": {
"Model": "X1",
"Doors": "3",
"Registration": "abc123",
"Transmission": "Manual"
}
}, {
"Manufacturer": "Renault"
"CarDetails": {
"Model": "Megane",
"Doors": "3",
"Registration": "abc123",
"Transmission": "Automatic"
}
}
]
}, {
"Manufacturers": [{
"Manufacturer": "Citroen"
"CarDetails": {
"Model": "C3",
"Doors": "3",
"Registration": "abc123",
"Transmission": "Automatic"
},
}, {
"Manufacturer": "Seat"
"CarDetails": {
"Model": "Leon",
"Doors": "3",
"Registration": "abc123",
"Transmission": "Automatic"
},
}, {
"Manufacturer": "Toyota",
"CarDetails": {
"Model": "Hybrid",
"Doors": "100",
"Registration": "Reg123",
"Transmission": "Manual"
}
}
]
}
]
解决方案
如果您使用的是弹簧靴,则可以使用
org.springframework.boot.configurationprocessor.json
打包并执行以下操作:
response.getJSONArray("Cars").getJSONObject(1).getJSONArray("Manufacters").getJSONObject(2).getJSONObject("CarDetails").getString("Doors")
除了这一行,您还必须处理 JSONException 异常
推荐阅读
- python - 如何在 python 中访问 numpy 结构化数组中的多个列值?
- java - 如何以 [%thread] 日志格式而不是 https-jsse-nio-9005-exec-2 添加其余调用]
- r - 为什么我的 dplyr 百分位数计算不适用于 tidy 评估?
- android - 当内容增大、固定宽度时防止表格列的扩展
- php - nginx服务器突然没有运行php文件的问题
- html - 如何将 HTML 文件添加到 HTML 代码中,这样我就不必为网站中的每个选项卡重新键入所有代码?
- c - 错误:指针之前的预期 unqualified-id
- google-chrome-extension - Puppeteer 无法在 GitHub Actions 中启动
- json - 创建 JSON 结构
- ios - Flutter IOS firebase_message 仅适用于 firebase 控制台