Как мне преобразовать такой вот json
в Java
класс с помощью GSON
?
{ "type": "success", "value": { "id": 61, "joke": "Chuck Norris once ate a whole cake before his friends could tell him there was a stripper in it.", "categories": [] } }
Как будет выглядеть этот класс ?
Вообще для этого надо создать класс, куда будут выгружаться поля. Поля должны быть публичными и класс должен содержать пустой конструктор.
public class MyClass {
public String joke;
public int id;
public String[] categories;
// Конструктор
public MyClass(){
}
}
далее просто выгружается в него из json
String jsonText = "{ \"id\": 61, \"joke\": \"Chuck Norris once ate a whole cake before his friends could tell him there was a stripper in it.\", \"categories\": [] }";
GsonBuilder builder = new GsonBuilder();
Gson gson = builder.create();
MyClass myClass = gson.fromJson(jsonText, MyClass.class);
System.out.println("GSON", "id: " + myClass.id + "\njoke: " + myClass.joke);
Не помню можно ли можно через GSON взять сразу объект value
из строки, которая у вас имеется (вроде бы можно судя по информации), но определенно точно её можно достать другой библиотекой org.json.java-json.jar
будет это выглядеть примерно так:
import org.json.*;
public class Test {
public static void main (String[] args) throws java.lang.Exception {
String json = "{ \"type\": \"success\", \"value\": { \"id\": 61, \"joke\": \"Chuck Norris once ate a whole cake before his friends could tell him there was a stripper in it.\", \"categories\": [] } }";
JSONObject obj = new JSONObject(json);
JSONObject myClassJSONObject = obj.getJSONObject("value");
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Здраствуйте уважаемые форумчанеНа днях начал разрабатывать свой калькулятор на Java и не смог найти нужную в интернете информацию о том как...