1

我有以下数据:

[{"class":"test","description":"o hai","example":"a","banana":"b"}]

由于这个 JSON 数据已经在一个数组中,我很难用简单的 JSON 解析它:

File file = new File( "/Users/FLX/test.json");
String s = FileUtils.readFileToString(file);

Object obj = parser.parse(s);
JSONArray array = (JSONArray) obj;
log.warn("WAAAAT"+array.get(1));

这不起作用,因为“1”(描述)在数组 0 中,这会导致越界异常,我该如何正确执行此操作?

4

1 回答 1

2

[] 表示一个数组,而 {} 表示一个对象,所以你有一个对象数组。

JSON 的格式化方式,你有一个包含单个对象的数组。该单个对象具有名为“class”、“description”、“example”和“banana”的属性,其值分别为“test”、“o hai”、“a”和“b”。

JSONArray 是基于 0 的,所以array.get(1)会越界。为了获得描述,你会做类似的事情array.getJSONObject(0).get("description")

于 2012-02-14T16:30:47.797 回答