在创建JSON对象的时候,首先必须要导入org.json的依赖,然后可以通过三种方式创建JSON对象,分别是利用JSONObject类创建JSON对象,利用Map来构建JSON对象以及利用JavaBean来构建JSON对象。
三种创建对象的代码如下:
//通过Map的形式构建JSONpackage com.json;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Map;
public class JsonObjectSample {
//通过JSONObject来构建
public static void jsonObjectSample(){
JSONObject wangxiaoer = new JSONObject();
Object object = null;
wangxiaoer.put("name", "王小二");
wangxiaoer.put("age", 25.2);
wangxiaoer.put("birthday","1990-01-01");
wangxiaoer.put("school", "蓝翔");
wangxiaoer.put("major", new String[]{"理发", "挖掘机"});
wangxiaoer.put("has_girlfriend", false);
wangxiaoer.put("car", object);
wangxiaoer.put("house", object);
wangxiaoer.put("comment", "这是一个注释");
System.out.println(wangxiaoer.toString());
}
//通过Map的形式构建JSON
public static void createJsonByMap(){
Map<String, Object> wangxiaoer = new HashMap<String, Object>();
Object object = null;
wangxiaoer.put("name","王小二");
wangxiaoer.put("age", 25.2);
wangxiaoer.put("birthday","1990-01-01");
wangxiaoer.put("school", "蓝翔");
wangxiaoer.put("major", new String[]{"理发", "挖掘机"});
wangxiaoer.put("has_girlfriend", false);
wangxiaoer.put("car", object);
wangxiaoer.put("house", object);
wangxiaoer.put("comment", "这是一个注释");
System.out.println(new JSONObject(wangxiaoer).toString());
}
//通过JavaBean构建JSON,使用JavaBean进行构建的时候必须要新建一个JavaBean,也就是Java类才可以
//这里使用的JavaBean是People类
public static void createJsonByJavaBean(){
People wangxiaoer = new People();
wangxiaoer.setName("王小二");
wangxiaoer.setAge(25.2);
wangxiaoer.setBirthday("1990-01-01");
wangxiaoer.setSchool("蓝翔");
wangxiaoer.setMajor(new String []{"理发", "挖掘机"});
wangxiaoer.setHas_girlfriend(false);
wangxiaoer.setCar(null);
wangxiaoer.setHouse(null);
wangxiaoer.setComment("这是一条注释");
System.out.println(new JSONObject(wangxiaoer));
}
public static void main(String[] args) {
jsonObjectSample();
createJsonByMap();
createJsonByJavaBean();
}
}
利用JavaBean创建JSON对象的bean,主要是利用其中的set方法,bean如下:
package com.json;
import java.util.Arrays;
public class People {
private String name;
private double age;
private String birthday;
private String school;
private String[] major;
private boolean has_girlfriend;
private Object car;
private Object house;
private String comment;
public void setName(String name) {
this.name = name;
}
public void setAge(double age) {
this.age = age;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public void setSchool(String school) {
this.school = school;
}
public void setMajor(String[] major) {
this.major = major;
}
public void setHas_girlfriend(boolean has_girlfriend) {
this.has_girlfriend = has_girlfriend;
}
public void setCar(Object car) {
this.car = car;
}
public void setHouse(Object house) {
this.house = house;
}
public void setComment(String comment) {
this.comment = comment;
}
public String getName() {
return name;
}
public double getAge() {
return age;
}
public String getBirthday() {
return birthday;
}
public String getSchool() {
return school;
}
public String[] getMajor() {
return major;
}
public boolean isHas_girlfriend() {
return has_girlfriend;
}
public Object getCar() {
return car;
}
public Object getHouse() {
return house;
}
public String getComment() {
return comment;
}
@Override
public String toString() {
return "People{" +
"name='" + name + '\'' +
", age=" + age +
", birthday='" + birthday + '\'' +
", school='" + school + '\'' +
", major=" + Arrays.toString(major) +
", has_girlfriend=" + has_girlfriend +
", car=" + car +
", house=" + house +
", comment='" + comment + '\'' +
'}';
}
}