基础语法:
JSON字符串转化成JSON对象
JSONObject jsonobject = JSON.parseObject(str);
或者
JSONObject jsonobject = JSONObject.parseObject(str);
功能上是一样的,都是将JSON字符串(str)转换成JSON对象 jsonobject 。注意str一定得是以键值对存在的JSON字符串。
JSON.parseObject(String text, Class clazz)方法
JSON.parseObject(String text, Class clazz),作用就是将指定的JSON字符串转换成自己的实体类的对象。例如:
首先定义一个自己的实体类Test:
public class Test {
private String name;
private String age;
private String addr;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "Test{" +
"name='" + name + '\'' +
", age='" + age + '\'' +
", addr='" + addr + '\'' +
", sex='" + sex + '\'' +
'}';
}
public Test(String name, String age, String addr, String sex) {
this.name = name;
this.age = age;
this.addr = addr;
this.sex = sex;
}
}
然后在jsonTest测试类中进行测试
import com.alibaba.fastjson.JSON;
public class jsonTest {
public static void main(String[] args){
//haha是Test类没有的
String jsonString = "{name:'hqz',age:'18',sex:'male',haha:'sd'}";
/**
* JSON字符串转化成自己的实体类对象 test
*/
Test test = JSON.parseObject(jsonString, Test.class);
System.out.println(test.toString());
/**
* 对象转化成JSON 字符串
*/
String jsonStr = JSON.toJSONString(test);
System.out.println(jsonStr);
}
}
输出依次为:
test{name='hqz', age='18', addr='null', sex='male'}
{"age":"18","name":"hqz","sex":"male"}
可以看到addr=’‘null’’,说明,
①:将JSON字符串转化成对象时,会去填充名称相同的属性,对于JSON字符串中没有,而Test类有的属性,会为null;
②:将对象转化成JSON字符串时,对于JSON字符串有,但是Test类没有的,不做任何处理。
以上。