Чтение сгенерированного файла JSON в Java
Я спрашиваю вас, потому что я искал некоторое время, и мне не повезло.
•• Прежде всего, я поместил здесь ссылку на страницу, где находятся все ссылки моего проекта, которые необходимы, чтобы увидеть, что я делаю. Я просто положил их сюда, потому что иначе я не могу. Я просто могу поставить 2 ссылки. ССЫЛКА: http://pastebin.com/rRY5cBcd ••
Я пишу в Java список дел. Я хочу сделать систему сохранения / загрузки с использованием JSON. Я закончил класс Save, он находится по ссылке выше.
Сейчас я делаю класс Load. Я хочу, чтобы этот класс загружал данные из файла, который он сгенерировал, с информацией о том, что он находится в JList, и сохранял данные в Object Array, ArrayList или делал его видимым в JList. Если информация находится в переменной, я знаю, как сделать ее видимой в JList. Но проблема в том, что я не знаю, как читать данные из JSONObject, который находится в JSONArray, сгенерированном пользователем (потому что данные в файле json - это то, что пользователь помещает в JList, поэтому я не знаю, сколько элементов добавит пользователь). Это также в ссылке, которая выше.
Если вам нужно что-то еще, например, класс Main или что-то еще, проект находится по ссылке выше.
Я не нашел в Google ничего о прочтении сгенерированного файла JSON. Нужна помощь, ребята.
И, наконец, извините за мой английский.
1 ответ
Вы можете использовать Джексона, чтобы облегчить вашу задачу.
добавить следующие зависимости
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.9</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.9</version>
</dependency>
создайте класс pojo, соответствующий вашим полям json
В вашем классе для загрузки данных JSON добавить следующее: -
import org.codehaus.jackson.JsonParser;
import org.codehaus.jackson.map.ObjectMapper;
А ТАКЖЕ
ObjectMapper mapper = new ObjectMapper (); mapper.configure (JsonParser.Feature.ALLOW_COMMENTS, true); mapper.configure (org.codehaus.jackson.map.DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, true);
pojoclass [] jsonrecords = mapper.readValue (jsonFile, pojoclass);