javascript - 遍历 JSONObject 中的 JSONArray
问题描述
我有JSONObject
一个JSONArray
, 和一个键。我想iterate
通过数组并red
在每个JSONObject
.
这是我到目前为止所拥有的,但它给了我一个JSONException: JSONObject["color"] not found
JSONArray arr = responseBody.getJSONArray("carModels");
String redServices = "";
for(int i = 0; i < arr.length(); i++)
{
if(arr.getJSONObject(i).get("color").equals("red"))
redServices += arr.getJSONObject(i).toString() + ", ";
}
这是 jsonObject 的示例
{
"carModels": [
{
"toyota": {
"color": "green"
}
},
{
"mazda": {
"color": "red"
}
},
{
"vw": {
"color": "red"
}
},
{
"ford": {
"color": "red"
}
},
{
"honda": {
"color": "black"
}
},
{
"tesla": {
"color": "white"
}
},
],
"average": "red"
}
解决方案
请找到以下适用于给定 json 的代码,您可以根据实际 json 对其进行修改:
public String getRedServicesFromJSON(JSONObject object){
JSONArray arr = object.getJSONArray("carModels");
StringJoiner joiner = new StringJoiner(", ");
for(int i = 0;i < arr.length(); i++){
if("red".equals(arr.getJSONObject(i).getJSONObject(arr.getJSONObject(i).names().getString(0)).get("color")))
joiner.add(arr.getJSONObject(i).toString());
}
return joiner.toString();
}
推荐阅读
- django - 在 Django 模板中显示同一行中的文本
- ios - ld:找不到框架 Alamofire 5.0
- asp.net-mvc - Date DataAnnotation 验证属性不起作用 - 显示时间
- http - Smartsheet API“连接时出现问题”
- list - 如何在颤动中找到包含另一个列表的任何元素的列表?
- java - 我想在 android 中使用闪烁动画更改图像,并且图像是使用 Glide 直接从服务器加载的。或任何其他选择来做到这一点?
- java - 如何在我正在开发的插件中添加凭据的下拉字段
- javascript - 使用 JS 样式的图像叠加
- gradle - Gradle 插件的传递依赖项干扰和破坏构建
- c++ - 如何仅使用自定义比较器在 std::map 中进行搜索?