我正在尝试循环调用:JSON 数组并尝试获取存在于调用 JSON 数组列表下的机器详细信息 JSON 对象获取json数组对象的值,如下所示:
{
"":{
"type":"CORR-ID",
"tags":[
{
"name":"9VB6454145983212H",
"flags":[
"FLAG_DYNAMIC_VALUE",
"FLAG_ID_LOOKUP_SUPPORTED"
]
}
],
"callSummary":[
{
"colo":"lvs",
"pool":"amazon_paymentsplatformserv",
"machine":"stage2utb29958"
},
{
"colo":"lvs",
"pool":"amazon_elmoserv",
"machine":"msmamoserv_0"
},
{
"colo":"lvs",
"pool":"amazon_xopaymentgatewayserv",
"machine":"msmastmentgatewayserv_1"
},
{
"colo":"lvs",
"pool":"amazon_paymentapiplatserv",
"machine":"msmaentapiplatserv_2"
},
{
"colo":"lvs",
"pool":"amazon_userlifecycleserv_ca",
"machine":"stage2utb91581"
},
{
"colo":"lvs",
"pool":"amazon_dafproxyserv",
"machine":"msmasfproxyserv_1"
},
{
"colo":"lvs",
"pool":"paymentserv",
"machine":"te-alm-15757_paymentexecutionserv_0",
"calls":[
{
"colo":"lvs",
"pool":"fimanagementserv_ca",
"machine":"msmgementserv_ca_20"
},
{
"colo":"lvs",
"pool":"fimanagementserv_ca",
"machine":"msmasgementserv_ca_4"
}
]
}
]
}
}
我将上述 JSON 文件存储在 String 变量中,并尝试使用以下代码获取被调用机器的详细信息:JSON ARRAY。
代码:
public static void getHttpUrlformachineList(String response, String CalId, String componentName)
throws Exception
{
//System.out.println(response);
Map data = new HashMap();
JSONParser parser = new JSONParser();
JSONObject object = (JSONObject) parser.parse(response);
JSONObject getValue = (JSONObject) object.get(CalId.trim()); //CalId is the dynamic value that mentioned in the JSON input file
JSONObject getCalSummary = (JSONObject) object.get("callSummary");
JSONArray arrays=(JSONArray) getCalSummary.get("calls");
System.out.println(arrays.size()); // return null pointer
}
错误:
java.lang.NullPointerException: null
at com.online.amazon.hadoop.cal.swagger.utils.Utils.getHttpUrlformachineList(Utils.java:112) ~[classes/:na]
如果您注意到调用数组列表并非在所有 callSummary JSON 数组中都可用,并且它将是动态的并且在上面列出的任何组件下都可用。
所以我只想动态获取调用:JSON 数组并迭代并获取计算机详细信息。
有人可以帮我实现吗?
注意:我使用 JSON Simple 库来解析和迭代 JSON。如果我能找到相同的解决方案,那就太好了。
更新:
我还尝试将 callSummary 创建为 JSON 数组并遍历该数组以获取每个 JSON 对象并尝试查找调用获取json数组对象的值,但这也导致了 Null 指针。
同样,调用 json 数组不是特定于索引的。它可以在有效载荷中的任何位置。它可能存在也可能不存在于有效载荷中。我只需要处理它是否存在于任何组件中,然后我需要获取该机器的详细信息
© 版权声明
本站下载的源码均来自公开网络收集转发二次开发而来,
若侵犯了您的合法权益,请来信通知我们1413333033@qq.com,
我们会及时删除,给您带来的不便,我们深表歉意。
下载用户仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,访问及下载者下载默认同意本站声明的免责申明,请合理使用切勿商用。
THE END
暂无评论内容