Целта ми е да импортирам JSON файл и за всеки елемент от JSON обекта искам да създам масив за всеки тип от този елемент. Ако това няма смисъл, тогава това, което искам да направя, е следното:
Предвид следния текст в JSON файла:
...,
{
"baseLevel": 50,
"difficulty": 233,
"durability": 80,
"level": 70,
"maxQuality": 2921,
"name": {
"de": "Trauzeugen-Jacke",
"en": "Best Man's Jacket",
"fr": "Veste de témoin",
"ja": "??????????"
},
"stars": 2
}
,...
Имам голям брой записи в моя JSON файл, съдържащ горната информация, това, което се надявах да направя, е да създам масив за всеки тип, като базово ниво, трудност, издръжливост, ниво, максимално качество и име (en), но съм напълно загубен как да направя това.
Моята настройка в момента е (с помощта на GSON):
JsonElement jsonElement = parser.parse(in);
prettyJson[i] = gson.toJson(jsonElement);
Не съм сигурен дали трябва да използвам jsonElement или prettyJson[], за да конструирам масива, който искам да създам, да не говорим как. Опитах се да направя някои изследвания, но нямах късмет или не намерих примери, които изглежда са свързани с това, което се опитвам да направя.
Ако някой може да ме насочи в правилната посока или да даде пример за това как да постигна целта си, ще бъде чудесно.
Благодаря на всички!
Edit1: Вярвам, че поправих първия си проблем и създадох JsonElement, съдържащ всички полета „en“ чрез кода по-долу:
JsonParser parser = new JsonParser();
JsonElement jsonElement = parser.parse(in);
JsonArray recipe_array = jsonElement.getAsJsonArray();
for (Object o : recipe_array) {
JsonObject recipe = (JsonObject) o;
JsonElement names = recipe.get("name");
String names_s = names.toString();
JsonElement names_e = parser.parse(names_s).getAsJsonObject().get("en");
System.out.println(names_e);
}
Сега не съм сигурен как да конвертирам това в String Array (ако изобщо е възможно?), Тъй като получавам грешка при изключение, когато се опитвам да конвертирам names_e в JsonArray.