Jsonファイルを読み込んで解析しようとしています。JsonObjectで表が正しく入力されない
JSONArray hops = (JSONArray) jsonObject.get("hops");
if (hops != null) {
Iterator<JSONObject> iterator = hops.iterator();
while (iterator.hasNext()) {
JSONObject itr = iterator.next();
rtt += (double) itr.get("rtt");
reply_ttl += (double) itr.get("reply_rtt");
probe_ttl += (long) itr.get("probe_ttl");
}
rtt = rtt/(hopCount * 2);
reply_ttl = (int) (reply_ttl/hopCount);
probe_ttl = (int) (probe_ttl/hopCount);
}
私はreply_ttl
とprobe_ttl
値に対するrtt
正しくなく、NullPointerException
リターンを取ることができます。デバッグ中は、ファイルにあるすべての属性がitr
に含まれていることがわかります。
{
"icmp_type": 11,
"probe_id": 1,
"icmp_q_ipl": 44,
"reply_tos": 192,
"reply_ipid": 9760,
"icmp_q_ttl": 1,
"rtt": 0.264,
"reply_size": 56,
"probe_size": 44,
"icmp_code": 0,
"icmp_q_tos": 0,
"addr": "193.1.31.125",
"probe_ttl": 1,
"reply_ttl": 255
}
しかし、私はitr
ためのHashMapの値を見ると、わずか9の属性は、テーブルに置かれています。なぜすべてのJsonノードがテーブルに入れられないのですか?
ここで問題を確認するには、完全なJSON構造を指定する必要があります。 @グレッグゼロは "reply_rtt"はそこにはないと述べた。 –