Kule tutorial sibonisa indlela yokuguqula into yeJava ibe yiJSON sisebenzisa iilayibrari ezimbini, uJackson noGson.
Siza kusebenzisa udidi loMntu olusezantsi nje lwe-POJO. Nje ukuba senze into yomntu, singayiguqula ibe yiJSON sisebenzisa amathala eencwadi ahlukeneyo.
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;
} }
Singasebenzisa ObjectMapper
iklasi yethala leencwadi laseJackson yokuguqula into yeJava ibe yiJSON.
I ObjectMapper
iklasi ineendlela ezahlukeneyo zokubhala iJSON kwifayile okanye ukubhala iJSON njengeString.
Kumzekelo olandelayo, sibhalela kwifayile kwaye sisebenzisa umsebenzi omhle wokuprinta ukubonisa ifomathi yeJSON.
Kodwa kuqala, fumana ilayibrari kaJackson eMaven kwaye ubeke njengokuxhomekeka kwi pom.xml
ifayile:
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;
} }
Iziphumo:
{ 'name' : 'David', 'age' : 30, 'hobbies' : [ 'Football', 'Cooking', 'Swimming' ], 'languages' : {
'French' : 'Beginner',
'German' : 'Intermediate',
'Spanish' : 'Advanced' } }
Kwakhona ifayile person.json
yenziwe kwindawo yokusebenza yeprojekthi.
Idibeneyo:
Fumana ukuxhomekeka
com.google.code.gson
gson
2.8.6
Emva koko
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;
} }
Iziphumo