разбирать данные json уже в массиве? - PullRequest
1 голос
/ 14 февраля 2012

У меня есть следующие данные:

[{"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, что вызывает исключение за пределами границ, как я могу правильно сделать это?

1 Ответ

2 голосов
/ 14 февраля 2012

[] обозначает массив, а {} обозначает объект, поэтому у вас есть массив объектов.

При форматировании вашего JSON у вас есть массив, который содержит один объект.Этот единственный объект имеет свойства с именем "class", "description", "example" и "banana" со значениями "test", "o hai", "a" и "b" соответственно.

JSONArrayна основе 0, поэтому array.get(1) будет за пределами.Чтобы получить описание, вы должны сделать что-то вроде array.getJSONObject(0).get("description")

...