Json和gson都可以将json格式的字符串转换成JavaBean对象
一、字符串不为 " " 时:
1.Json转换方式:
Json转换时必须先将字符串转换成Json对象,然后转换为JavaBean
String str = "{\"name\":\"张三\",\"age\":20,\"sex\":\"男\"}";
JSONObject json = JSONObject.fromObject(str);
Person p = (Person)json.toBean(json,Person.class);
2.Gson转换方式
String json = "{\"name\":\"张三\",\"age\":20,\"sex\":\"男\"}";
Gson gson = new Gson();
Person p = gson.fromJson(json, Person.class);
二、字符串为 " " 时: String str = " ";
1.Json在执行字符串转换为Json对象时会报错:
JSONObject json = JSONObject.fromObject(str); //运行时报错
Exception in thread "main" net.sf.json.JSONException: A JSONObject text must begin with '{' at character 0 of
2.Gson转换时不会报错,但是转换的Person对象为null
String json = "";
Gson gson = new Gson();
Person p = gson.fromJson(json, Person.class);
注:以上用到的JavaBean
public class Person {
private String name;
private int age;
private String sex;
public Person(String name,int age,String sex){
this.name = name;
this.age = age;
this.sex = sex;
}
}