如何用gson将对象转换为json
答案:1 悬赏:70 手机版
解决时间 2021-04-08 01:47
- 提问者网友:人傍凄凉立暮秋
- 2021-04-07 14:18
如何用gson将对象转换为json
最佳答案
- 五星知识达人网友:千杯敬自由
- 2021-04-07 15:53
使用Google的Gson实现对象和json字符串之间的转换
需要gson-1.4.jar
1.JsonUtil.java
Java代码
package com.snail.json;
import java.lang.reflect.Type;
import com.google.gson.Gson;
public final class JsonUtil {
private JsonUtil(){}
public static String toJson(Object obj) {
Gson gson = new Gson();
return gson.toJson(obj);
}
public static T fromJson(String str, Type type) {
Gson gson = new Gson();
return gson.fromJson(str, type);
}
public static T fromJson(String str, Class type) {
Gson gson = new Gson();
return gson.fromJson(str, type);
}
}
2. Person.java
Java代码
package com.snail.json;
public class Person {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
3. Test.java
Java代码
package com.snail.json;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import com.google.gson.reflect.TypeToken;
public class Test {
public static void objectToJson(){
Person person = new Person();
person.setId(1);
person.setName("one");
//javabean转换成json字符串
String jsonStr = JsonUtil.toJson(person);
System.out.println(jsonStr);
//json字符串转换成javabean
Person newPerson = JsonUtil.fromJson(jsonStr, Person.class);
System.out.println(person == newPerson);
System.out.println(newPerson.getId()+","+newPerson.getName());
}
public static void listToJson(){
Person person1 = new Person();
person1.setId(1);
person1.setName("one");
Person person2 = new Person();
person2.setId(2);
person2.setName("two");
List list = new ArrayList();
list.add(person1);
list.add(person2);
//javabean转换成json字符串
String jsonStr = JsonUtil.toJson(list);
System.out.println(jsonStr);
//json字符串转换成javabean对象
List rtn = JsonUtil.fromJson(jsonStr, new TypeToken
需要gson-1.4.jar
1.JsonUtil.java
Java代码
package com.snail.json;
import java.lang.reflect.Type;
import com.google.gson.Gson;
public final class JsonUtil {
private JsonUtil(){}
public static String toJson(Object obj) {
Gson gson = new Gson();
return gson.toJson(obj);
}
public static
Gson gson = new Gson();
return gson.fromJson(str, type);
}
public static
Gson gson = new Gson();
return gson.fromJson(str, type);
}
}
2. Person.java
Java代码
package com.snail.json;
public class Person {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
3. Test.java
Java代码
package com.snail.json;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import com.google.gson.reflect.TypeToken;
public class Test {
public static void objectToJson(){
Person person = new Person();
person.setId(1);
person.setName("one");
//javabean转换成json字符串
String jsonStr = JsonUtil.toJson(person);
System.out.println(jsonStr);
//json字符串转换成javabean
Person newPerson = JsonUtil.fromJson(jsonStr, Person.class);
System.out.println(person == newPerson);
System.out.println(newPerson.getId()+","+newPerson.getName());
}
public static void listToJson(){
Person person1 = new Person();
person1.setId(1);
person1.setName("one");
Person person2 = new Person();
person2.setId(2);
person2.setName("two");
List
list.add(person1);
list.add(person2);
//javabean转换成json字符串
String jsonStr = JsonUtil.toJson(list);
System.out.println(jsonStr);
//json字符串转换成javabean对象
List
- >(){}.getType());
for(Person person : rtn){
System.out.println(person.getId()+","+person.getName());
}
}
public static void mapToJson(){
Person person1 = new Person();
person1.setId(1);
person1.setName("one");
Person person2 = new Person();
person2.setId(2);
person2.setName("two");
Map
map.put(person1.getId(), person1);
map.put(person2.getId(), person2);
//javabean转换成json字符串
String jsonStr = JsonUtil.toJson(map);
System.out.println(jsonStr);
//json字符串转换成Map对象
Map
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯