Как преобразовать Java объект в/из JSON
В этом посте будет описано как использовать Jackson 2.x чтобы преобразовать Java объекты в/из JSON.
Преобразовать объект в JSON
Используйте writeValue(...) для преобразования Java объекта в JSON файл.
Используйте writeValueAsString(...) для преобразования Java объекта в JSON строку.
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
public class Main {
public static void main(String[] args){
ObjectMapper mapper = new ObjectMapper();
Animal animal = new Animal();
animal.setName("cat");
try {
// Java объект в JSON файл
mapper.writeValue(new File("/home/myuser/animals.json"), animal);
// Java объект в JSON строку
String jsonString = mapper.writeValueAsString(animal);
System.out.println(jsonString);
} catch (Exception e){
System.out.println(e.getMessage());
}
}
}
Вывод:
{"name":"cat"}
Простой Java класс для преобразования в JSON.
public class Animal {
private String name;
public Animal(){}
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
}
Преобразовать объект из JSON
Используйте readValue(...) для преобразования Java объекта из JSON.
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
import java.net.URL;
public class FromJSON {
public static void main(String[] args){
ObjectMapper mapper = new ObjectMapper();
try {
// Java объект из JSON файла
Animal animal = mapper.readValue(new File("/home/alex/animals.json"), Animal.class);
// Java объект из JSON файла по URL (если данный файл доступен по указанному URL)
// Animal animalFromWeb = mapper.readValue(new URL("http://example.com/api/animals.json"), Animal.class);
// Java объект из JSON строки
Animal animalFromString = mapper.readValue("{\"name\" : \"dog\"}", Animal.class);
System.out.println("Name of animal from JSON file: "+animal.getName());
System.out.println("Name of animal from JSON string: "+animalFromString.getName());
} catch (Exception e){
System.out.println(e.getMessage());
}
}
}
Вывод:
Name of animal from JSON file: cat
Name of animal from JSON string: dog
Комментарии
Отправить комментарий