JSON သို့ Java Object ပြောင်းရန်နည်းလမ်း

ဤသင်ခန်းစာတွင်စာကြည့်တိုက်နှစ်ခု၊ ဂျက်ဆင်နှင့် Gson ကိုသုံးပြီး JSON သို့ JSON ကိုမည်ကဲ့သို့ပြောင်းလဲရမည်ကိုပြသည်။

ကျွန်ုပ်တို့သည် Standard POJO တစ်ခုသာဖြစ်သော Person class ကိုအသုံးပြုမည်။ လူပုဂ္ဂိုလ်တစ်ပုဒ်ဖန်တီးပြီးသည်နှင့်အခြားစာကြည့်တိုက်များ သုံး၍ 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;
} }


JSON ကိုသုံးပြီး Java ကို JSON သို့ပြောင်းပါ

ObjectMapper ကိုသုံးနိုင်သည် JSON သို့ Java အရာဝတ္ထုတစ်ခုပြောင်းရန်အတွက် Jackson စာကြည့်တိုက်၏အတန်းအစားဖြစ်သည်။

ObjectMapper class တွင် JSON ကို file သို့ရေးသားရန်သို့မဟုတ် JSON ကို String အနေဖြင့်ရေးသားရန်နည်းလမ်းအမျိုးမျိုးရှိသည်။


အောက်ပါဥပမာတွင်ဖိုင်တစ်ခုကိုရေးပြီး JSON ကိုပြရန်လှပသော print function ကိုအသုံးပြုသည်။

ပထမ ဦး စွာ Jackson Maven မှ Jackson library ကို 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 စီမံကိန်း Workspace တွင်ဖန်တီးထားသည်။

ဆက်စပ်:



Gson ကို အသုံးပြု၍ JSON သို့ Java ကိုပြောင်းပါ

မှီခိုကိုရယူပါ


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;
} }

ရလဒ်

စိတ်ဝင်စားစရာဆောင်းပါးများ