Как вернуть первый и последний элемент Json - PullRequest
0 голосов
/ 11 марта 2020

Используя gson, как я могу вернуть первый и последний элемент из моего json, чтобы получить данные в этом формате?

System.out.println("Student: BobGoblin - result: 59");

Я пробовал это, но он все еще возвращает полный JSON объект

JsonObject jsonObject = new Gson().fromJson(content.toString(), JsonObject.class);
return jsonObject.get(domain) + " - " + jsonObject.get(result.toString());

1 Ответ

2 голосов
/ 11 марта 2020

Прежде всего: в Json преобразует что-то в json. Вы хотите конвертировать json в какой-то объект. Поэтому используйте fromJson.

Во-вторых, создайте объект, в который вы можете поместить эти данные. На сайте руководства для gson имеется множество примеров: https://github.com/google/gson/blob/master/UserGuide.md

Позвольте мне написать это для вас. Это не так сложно:

import java.util.Map;

import com.google.gson.Gson;

public class GsonTest {

    public static void main(String args[]) {

      Gson gson = new Gson();

      String json = "{\"name\":\"Bog\", \"foo\":\"bar\", \"result\": 59}";

      // Using a map
      @SuppressWarnings( "unchecked" )
      Map<String,Object> map = gson.fromJson( json, Map.class );
      System.out.println( "Name: " + map.get( "name" ) + " result: " + map.get( "result" ) );

      // Better: using an object
      Student student = gson.fromJson( json, Student.class );
      System.out.println( "Name: " + student.name + " result: " + student.result );

    }

    public static class Student {
        public String name;
        public String foo;
        public int result;
    }
}

, что приведет к:

Name: Bog result: 59.0
Name: Bog result: 59

Общий метод: Возьмите строку json и поместите ее в какой-то объект java , Затем получите доступ к этому объекту java, чтобы получить доступ к вашим данным.

Обратите внимание, что вы получаете больший контроль над видом данных, которые вы получите, используя второй метод. Так как json не указывает тип данных, анализатор угадывает float/double для возраста, в то время как он использует int во втором примере, потому что класс так сказал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...