Задать вопрос
@SlimeLime-java

Как спарсить json?

Сейчас я настраиваю сниппеты в SoraEditor. Я хочу хранить снипеты для каждого языка в json в asset. Для чтения ассетов юзаю assets++. Вот такой json нужно спарсить:
[
  {
    "prefix": "for",
    "body": [
      "for(int i=0; i<count; i++) {",
      "}"      
    ],
    "description": "for loop",
    "length": 1
  },
  {
    "prefix": "foreach",
    "body": [
      "for(Object obj: arr) {",
      "}"      
    ],
    "description": "foreach loop",
    "length": 1
  },
]

В массив обьктов этого класса:
public static class Snippet {
        @SerializedName("prefix")
        public String prefix;

        @SerializedName("body")
        public String[] body;

        @SerializedName("description")
        public String description;

        @SerializedName("length")
        public int length;

        public Snippet(String prefix, String[] body, String description, int length) {
            this.prefix = prefix;
            this.body = body;
            this.description = description;
            this.length = length;
        }
    }
//Да, я уже пятался работать с Gson


Тк в json удобно хранить такие данные.
  • Вопрос задан
  • 133 просмотра
Подписаться 2 Простой 2 комментария
Решения вопроса 1
xez
@xez Куратор тега Java
TL Junior Roo
var jsonArray = """
                 [
                   {
                     "prefix": "for",
                     "body": [
                       "for(int i=0; i<count; i++) {",
                       "}"     \s
                     ],
                     "description": "for loop",
                     "length": 1
                   },
                   {
                     "prefix": "foreach",
                     "body": [
                       "for(Object obj: arr) {",
                       "}"     \s
                     ],
                     "description": "foreach loop",
                     "length": 1
                   },
                 ]
                """;

        var snippetsListType = new TypeToken<ArrayList<Snippet>>(){}.getType();
        var snippets = new Gson().fromJson(jsonArray, snippetsListType);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы