【发布时间】:2018-09-12 15:14:40
【问题描述】:
我的 Json 响应是
"results": [
[
"2C30AE32-191@Local",
"Imperva Inc.",
"SecureSphere",
"Custom Violation",
1,
"",
"KMB",
"196.207.98.94",
"10.10.1.180",
"10.10.18.14",
443,
"",
7874115,
"",
1522716763000,
"TCP",
"",
"",
""
]
]
我的java代码:
String output = response.getEntity(String.class);
JSONObject obj = new JSONObject(output);
JSONArray results = obj.getJSONArray("results");
JSONArray first = (JSONArray) results.get(1);
String deviceVendor = (String) first.get(0);
String deviceProduct = (String) first.get(1);
String name = (String) first.get(2);
String baseEventCount = (String) first.get(3);
String categoryOutcome = (String) first.get(4);
String customerName = (String) first.get(5);
String sourceAddress = (String) first.get(6);
String destinationAddress = (String) first.get(7);
String deviceAddress = (String) first.get(8);
String destinationPort = (String) first.get(9);
String destinationServiceName = (String) first.get(10);
String eventId = (String) first.get(11);
String message = (String) first.get(12);
String startTime = (String) first.get(13);
String transportProtocol = (String) first.get(14);
String categoryBehavior = (String) first.get(15);
String categoryDeviceGroup = (String) first.get(16);
String categoryObject = (String) first.get(17);
这里,我用索引号来获取数据。当我解析它时,我得到 JSONArray[5] not found 异常。如何处理这个。如果我们有一个 json 对象,我们可以使用 .has("string") 处理,但如果是 json 数组,如何处理这种情况?
【问题讨论】:
-
请出示相关代码。
-
请注意,数组中有一个数组 - 我猜这就是问题所在,但很难判断您何时没有向我们展示任何代码。
-
检查 JSONARRAY LENGTH FITRST 然后迭代它
-
@Jon Skeet 看到提供的代码
-
哪一行抛出异常?最好将其减少为 minimal reproducible example 并将其格式设置为尽可能可读。
标签: java arrays json exception jersey