Як пераўтварыць аб'ект Java у JSON

У гэтым уроку мы пакажам, як пераўтварыць аб'ект Java у JSON, выкарыстоўваючы дзве бібліятэкі, Джэксан і Gson.

Мы будзем выкарыстоўваць клас Person, які з'яўляецца звычайным POJO. Пасля стварэння аб'екта person мы можам пераўтварыць яго ў JSON, выкарыстоўваючы розныя бібліятэкі.

Person.java


import java.util.List; import java.util.Map; public class Person {
String name;
Integer age;
List hobbies;
Map languages;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public List getHobbies() {
return hobbies;
}
public void setHobbies(List hobbies) {
this.hobbies = hobbies;
}
public Map getLanguages() {
return languages;
}
public void setLanguages(Map languages) {
this.languages = languages;
} }


Пераўтварэнне Java у JSON з дапамогай Джэксана

Мы можам выкарыстоўваць ObjectMapper клас бібліятэкі Джэксана для пераўтварэння аб'екта Java у JSON.

ObjectMapper клас мае розныя метады, каб запісаць JSON у файл альбо запісаць JSON як радок.


У наступным прыкладзе мы пішам у файл, а таксама выкарыстоўваем функцыю даволі друку для адлюстравання адфарматаванага JSON.



Але спачатку дастаньце бібліятэку Джэксана ў Maven і пастаўце як залежнасць у pom.xml файл:


com.fasterxml.jackson.core
jackson-core
2.10.2
com.fasterxml.jackson.core
jackson-databind
2.10.2

ConvertJavaObjectToJson.java

import com.fasterxml.jackson.databind.ObjectMapper; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class ConvertJavaObjectToJson {
public static void main(String[] args) {
ObjectMapper mapper = new ObjectMapper();
Person person = newPerson();

try {

mapper.writeValue(new File('person.json'), person);

String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(person);

System.out.println(jsonString);
} catch (Exception e) {

e.printStackTrace();
}
}
private static Person newPerson() {
Person person = new Person();

List hobbies = new ArrayList();
hobbies.add('Football');
hobbies.add('Cooking');
hobbies.add('Swimming');

Map languages = new HashMap();
languages.put('French', 'Beginner');
languages.put('German', 'Intermediate');
languages.put('Spanish', 'Advanced');

person.setName('David');
person.setAge(30);
person.setHobbies(hobbies);
person.setLanguages(languages);

return person;
} }

Выхад:


{ 'name' : 'David', 'age' : 30, 'hobbies' : [ 'Football', 'Cooking', 'Swimming' ], 'languages' : {
'French' : 'Beginner',
'German' : 'Intermediate',
'Spanish' : 'Advanced' } }

Таксама файл person.json ствараецца ў рабочай прасторы праекта.

Звязаныя:



Пераўтварэнне Java у JSON з дапамогай Gson

Атрымаць залежнасць


com.google.code.gson
gson
2.8.6

Тады


import com.google.gson.Gson; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class ConvertJavaObjectToJson {
public static void main(String[] args) {
Gson gson = new Gson();
Person person = newPerson();
String jsonString = gson.toJson(person);
System.out.println(jsonString);
}
private static Person newPerson() {
Person person = new Person();

List hobbies = new ArrayList();
hobbies.add('Football');
hobbies.add('Cooking');
hobbies.add('Swimming');

Map languages = new HashMap();
languages.put('French', 'Beginner');
languages.put('German', 'Intermediate');
languages.put('Spanish', 'Advanced');

person.setName('David');
person.setAge(30);
person.setHobbies(hobbies);
person.setLanguages(languages);

return person;
} }

Выхад