方法一:
传统的方法:
代码:
package Arraylist;
import java.util.ArrayList;
import java.util.List;
import org.json.JSONObject;
public class Main {
public static Main a;
static void String(){
JSONObject jsonObject = new JSONObject();
jsonObject.put("name","ASR1000");
jsonObject.put("status","Warning");
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("basic","Warning");
jsonObject1.put("device","CS1006");
JSONObject jsonObject3 = new JSONObject();
jsonObject3.put("Error", 0);
jsonObject3.put("OK",0);
JSONObject jsonObject4 = new JSONObject();
jsonObject4.put("name", "CS100");
jsonObject4.put("status", "Warning");
JSONObject jsonObject5 = new JSONObject();
jsonObject5.put("name", "basic");
jsonObject5.put("status", "Warning");
JSONObject jsonObject6 = new JSONObject();
jsonObject6.put("name", "show");
jsonObject6.put("status", "Warning");
JSONObject jsonObject7 = new JSONObject();
jsonObject7.put("name", "software");
jsonObject7.put("value", "IO");
List<JSONObject> jsonObjects = new ArrayList<JSONObject>();
jsonObjects.add(jsonObject1);
List<JSONObject> jsonObjects1 = new ArrayList<JSONObject>();
jsonObjects1.add(jsonObject3);
List<JSONObject> jsonObjects2 = new ArrayList<JSONObject>();
jsonObjects2.add(jsonObject4);
List<JSONObject> jsonObjects3 = new ArrayList<JSONObject>();
jsonObjects3.add(jsonObject5);
List<JSONObject> jsonObjects4 = new ArrayList<JSONObject>();
jsonObjects4.add(jsonObject6);
List<JSONObject> jsonObjects5 = new ArrayList<JSONObject>();
jsonObjects5.add(jsonObject7);
jsonObject.put("devicegs",jsonObjects);
jsonObject.put("familys",jsonObjects1);
jsonObject.put("devices",jsonObjects2);
jsonObject4.put("groups", jsonObjects3);
jsonObject5.put("commands", jsonObjects4);
jsonObject6.put("items", jsonObjects5);
System.out.println(jsonObject);
}
public static void main(String[] args) {
a = new Main();
Main.String();
}
}
运行结果
方法二:
先对对象进行封装再写入。
代码:
1.Instance.class
package ArraylistFZ;
import java.util.ArrayList;
public class Instance {
//同级元素
private String Fname;
private String Fstatus;
//同级对象
private ArrayList<Devicegs> device;
private ArrayList<Familygs> family_;
private ArrayList<Devices> devices;
public String getFname() {
return Fname;
}
public void setFname(String fname) {
Fname = fname;
}
public String getFstatus() {
return Fstatus;
}
public void setFstatus(String fstatus) {
Fstatus = fstatus;
}
public ArrayList<Devicegs> getDevice() {
return device;
}
public void setDevice(ArrayList<Devicegs> device) {
this.device = device;
}
public ArrayList<Familygs> getFamily_() {
return family_;
}
public void setFamily_(ArrayList<Familygs> family_) {
this.family_ = family_;
}
public ArrayList<Devices> getDevices() {
return devices;
}
public void setDevices(ArrayList<Devices> devices) {
this.devices = devices;
}
@Override
public String toString() {
return "Instance [Fname=" + Fname + ", Fstatus=" + Fstatus + ", device=" + device + ", family_=" + family_
+ ", devices=" + devices + "]";
}
}
2.Devices.class
package ArraylistFZ;
import java.util.ArrayList;
public class Devices {
private String name;
private String status;
private ArrayList<Groups> groups;
public ArrayList<Groups> getGroups() {
return groups;
}
public void setGroups(ArrayList<Groups> groups) {
this.groups = groups;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
@Override
public String toString() {
return "Devices [name=" + name + ", status=" + status + ", groups=" + groups + "]";
}
}
3.Groups.class
package ArraylistFZ;
public class Groups {
private String name;
private String status;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
@Override
public String toString() {
return "Groups [name=" + name + ", status=" + status + "]";
}
}
4.Main.class
package ArraylistFZ;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
public class Main {
public static void main(String[] args) throws JsonGenerationException, JsonMappingException, IOException {
Instance instance=new Instance();
instance.setFname("ASR1000");
instance.setFstatus("Warning");
//设置devicegs同级
Devicegs devicegs1=new Devicegs();
devicegs1.setDgsbasic("Warning");
devicegs1.setDgsdevice("CS1006");
//设置familygs同级
Familygs familygs1=new Familygs();
familygs1.setFgsError("0");
familygs1.setFgsOK("0");
//设置子级groups(Devices)
Groups groups1=new Groups();
groups1.setName("basic");
groups1.setStatus("Warning");
//设置devices同级
Devices devices1 = new Devices();
devices1.setName("CS100");
devices1.setStatus("Warning");
ArrayList<Devicegs> list1 = new ArrayList<Devicegs>();
list1.add(devicegs1);
ArrayList<Familygs> list2 =new ArrayList<Familygs>();
list2.add(familygs1);
ArrayList<Devices> list3=new ArrayList<Devices>();
list3.add(devices1);
ArrayList<Groups> list4 = new ArrayList<Groups>();
list4.add(groups1);
devices1.setGroups(list4);
instance.setDevice(list1);
instance.setFamily_(list2);
instance.setDevices(list3);
ObjectMapper mapper = new ObjectMapper();
List<Instance> users = new ArrayList<Instance>();
users.add(instance);
String jsonlist = mapper.writeValueAsString(users);
System.out.println(jsonlist);
}
}
运行结果:
加入的jar包:json和jackson