Список в конфиге

Версия Minecraft
1.12.2
1,350
107
231
Как сделать список в конфиге (у меня ArrayList<Item>)? Хотяб исходники...
 
Последнее редактирование:
Решение
Java:
        try {
            JsonParser parser = new JsonParser();
            Object obj = parser.parse(new FileReader("config/kits.json"));
            JsonObject itemsobject = (JsonObject) obj;
            for(int i = 0; i < itemsobject.get("items_sold").getAsJsonArray().size(); i++){
                String id = itemsobject.get("items_sold").getAsJsonArray().get(i).getAsJsonObject().get("id").getAsString();
                Constants.store.add(id);
                System.out.println("Добавленоо: " + id);
            }
1,038
57
229
Java:
String list_str = "Item1, Item2, Item3, 246, 547, 1.0";
String[] cols = list_str.split(",");
for(int i=0; i<3; i++)
    System.out.println((i+1)+") " + cols[i].trim());
try
{
System.out.println( "4) int=" + Integer.parseInt(cols[3].trim()) );
System.out.println( "5) int=" + Integer.parseInt(cols[4].trim()) );
System.out.println( "6) real=" + Float.parseFloat(cols[5].trim()) );
} catch (NumberFormatException ex) {
    ex.printStackTrace();
}
 
1,417
44
594
Java:
        try {
            JsonParser parser = new JsonParser();
            Object obj = parser.parse(new FileReader("config/kits.json"));
            JsonObject itemsobject = (JsonObject) obj;
            for(int i = 0; i < itemsobject.get("items_sold").getAsJsonArray().size(); i++){
                String id = itemsobject.get("items_sold").getAsJsonArray().get(i).getAsJsonObject().get("id").getAsString();
                Constants.store.add(id);
                System.out.println("Добавленоо: " + id);
            }
 
1,038
57
229
Можешь пояснить код?
какая часть тебе не понятна?

Есть какой то список, с совершенно разными данными в виде строки
String list_str = "Item1, Item2, Item3, 246, 547, 1.0";

Разбиваем данные части путем разделителя (delimiter), в данном случае одни данные от других отделены запятой
String[] cols = list_str.split(",");

Выводим первые три элемента, т.к это просто строки то делать с ними уже ничего не нужно
for(int i=0; i<3; i++) System.out.println((i+1)+") " + cols[i].trim());

чтобы из строки получить число потребуется уже Integer.parse или Float.parseFloat (в зависимости от их типа, целый числа или с плавающей запятой)
try { System.out.println( "4) int=" + Integer.parseInt(cols[3].trim()) ); System.out.println( "5) int=" + Integer.parseInt(cols[4].trim()) ); System.out.println( "6) real=" + Float.parseFloat(cols[5].trim()) ); } catch (NumberFormatException ex) { ex.printStackTrace(); }
 
Последнее редактирование:

tox1cozZ

aka Agravaine
8,455
598
2,892
Java:
        try {
            JsonParser parser = new JsonParser();
            Object obj = parser.parse(new FileReader("config/kits.json"));
            JsonObject itemsobject = (JsonObject) obj;
            for(int i = 0; i < itemsobject.get("items_sold").getAsJsonArray().size(); i++){
                String id = itemsobject.get("items_sold").getAsJsonArray().get(i).getAsJsonObject().get("id").getAsString();
                Constants.store.add(id);
                System.out.println("Добавленоо: " + id);
            }
А зачем? Есть же либа gson, там простые вещи не надо ручками парсить, все делается одной строкой. Она кстати есть из коробки в Майне, так что не надо за собой таскать.
 
1,038
57
229
Сверху