JSON数据转换之net.sf.json包的使⽤⼀、介绍
使⽤之前需要导⼊的jar包:
json-lib-2.4-jdk15.jar
commons-lang.jar
commons-beanutils.jar
commons-collections.jar
commons-logging.jar
ezmorph.jar <!--这个包我没导⼊,也可以使⽤-->
⼆、使⽤
1.JSONObject的使⽤
public class JSONObjectUse {
public static void main(String[] args) {
//创建JSONObject对象
JSONObject jsonObject = new JSONObject();
jsonObject.put("username","wln");
jsonObject.put("password","123");
System.out.println("1:" + jsonObject);
//增加属性
jsonObject.element("sex","男");
System.out.println("2:" + jsonObject);
//判断输出对象的类型
boolean isArray = jsonObject.isArray();
boolean isEmpty = jsonObject.isEmpty();
boolean isNullObject = jsonObject.isNullObject();
System.out.println("3:" + "是否是数组:" + isArray +" 是否是空:" + isEmpty + " 是否是空对象:" + isNullObject);
//创建JSONArray
JSONArray jsonArray = new JSONArray();
jsonArray.add(0,"aa");
jsonArray.add("BB");
jsonArray.add(1,"AB");
jsonArray.add("cc");
//将JSONArray 添加到JSONObject
jsonObject.element("student",jsonArray);
System.out.println("4:" + jsonObject);
}
}
结果:
1:{"username":"wln","password":"123"}
2:{"username":"wln","password":"123","sex":"男"}
3:是否是数组:false是否是空:false是否是空对象:false
4:{"username":"wln","password":"123","sex":"男","student":["aa","AB","BB","cc"]}
2.JSONArray的使⽤
public class JSONArrayUse {
public static void main(String[] args) {
/
/创建JSONArray对象
JSONArray jsonArray = new JSONArray();
jsonArray.add(0,"aa");
jsonArray.add(1,"BB");
jsonArray.element("cc");
jsonArray.add("DD");
System.out.println("1:" + jsonArray);
//根据下标获取数据
System.out.println("2:" + (0));
//根据下标设置数据
jsonArray.set(0,"AAA");
System.out.println("3:" + jsonArray);
//创建JSONObject
JSONObject jsonObject = new JSONObject();
jsonObject.put("username", "lwc");
jsonObject.put("password", "123");
//把JSONObject放⼊到JSONArray中
jsonArray.add(jsonObject);
System.out.println("4:" + jsonArray);
//遍历
System.out.println("5:");
for(int i=0;i<jsonArray.size();i++){
System.out.(i)+"\t");
}
}
}
结果:
1:["aa","BB","cc","DD"]
2:aa
3:["AAA","BB","cc","DD"]
4:["AAA","BB","cc","DD",{"username":"lwc","password":"123"}]
5:
AAA    BB    cc    DD    {"username":"lwc","password":"123"}
3.JavaBean与JSON字符串之间的转换
public class JavaBeanUse {
public static void main(String[] args) {
//将JavaBean转换为JSONObject
Student student = new Student("wln", "22");
JSONObject jsonObject = JSONObject.fromObject(student);
System.out.println("1:" + jsonObject);
//将JSONString转换为JSONObject
String jsonStr = "{\"name\":\"nana\",\"age\":\"33\"}";
JSONObject jsonObject1 = JSONObject.fromObject(jsonStr);
Student stu = (Student) Bean(jsonObject1,Student.class);
System.out.println("2:" + stu);
System.out.println("3:" + Name() +" "+ Age());
}
结果:
1:{"age":"22","name":"wln"}
2:com.springboot.ity.Student@61a485d2
3:nana 33
public class Student {
private String name;
private String age;
public Student() {
}
public Student(String name, String age) {
this.name = name;
this.age = age;
}
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;
}
}
4.List与JSON字符串之间的转换
public class ListUse {
public static void main(String[] args) {
//将List转成JSONArray
List list = new ArrayList();
list.add(new Student("wln","22"));
list.add(new Student("nana","33"));
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println("1:" + jsonArray);
//将JSONString转成List
List list1 = new ArrayList();
String strJSON = "[{\"name\":\"dada\",\"age\":\"44\"},{\"name\":\"xiaoxiao\",\"age\":\"55\"}]";
JSONArray jsonArray1 = JSONArray.fromObject(strJSON);
for(int i = 0;i < jsonArray1.size(); i++) {
JSONObject jsonObject = JSONObject(i);
Student stu = (Student) Bean(jsonObject,Student.class);
list1.add(stu);
}
System.out.println("2:" + list1);
}
}
结果:
1:[{"age":"22","name":"wln"},{"age":"33","name":"nana"}]
2:[com.springboot.ity.Student@7946e1f4, com.springboot.ity.Student@3c09711b] 5.Map与JSON字符串之间的转换
public class MapUse {
public static void main(String[] args) {
//Map转JSONString
Map map = new HashMap();
map.put("1", new Student("wln","22"));
map.put("2", new Student("nana","33"));
JSONObject jsonMap = JSONObject.fromObject(map);
System.out.println("1:" + map);
//JSONString转Map
String jsonStr = "{\"1\":{\"name\":\"dada\",\"age\":\"44\"},\"2\":{\"name\":\"xiaoxiao\",\"age\":\"55\"}}";
Map map1 = (Map) JSONObject.fromObject(jsonStr);
Set set = map1.keySet();
Iterator ite = set.iterator();
while (ite.hasNext()) {
String key = (String) ();
JSONObject jsonObject = JSONObject.(key));
Student stu = (Student) Bean(jsonObject, Student.class);
System.out.println("2:" + key + " " + stu);
}
}
}
结果:
1:{1=com.springboot.ity.Student@1b40d5f0, 2=com.springboot.ity.Student@ea4a92b} 2:1 com.springboot.ity.Student@3c09711b
2:2 com.springboot.ity.Student@5cc7c2a6
6.JSONArray与List之间的转换
public class JSONArrayToList {
public static void main(String[] args) {
//List转换为JSONArray
List<Student> list = new ArrayList<Student>();
list.add(new Student("wln","22"));
list.add(new Student("nana","33"));
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println("1:" + jsonArray);
//JSONArray转换为List
List<Student> list2 = List(jsonArray, new Student(), new JsonConfig());
Iterator<Student> ite = list2.iterator();
while (ite.hasNext()) {
Student stu = ();
System.out.println("2:" + stu);
}
}
}
结果:
1:[{"age":"22","name":"wln"},{"age":"33","name":"nana"}]
2:com.springboot.ity.Student@69d9c55
2:com.springboot.ity.Student@13a57a3b
7.JSONArray与数组之间的转换
public class JSONArrayToArray {
public static void main(String[] args) {
//Java数组转换JSONArray
boolean[] boolArray = new boolean[] {true, false, true};
JSONArray jsonArray = JSONArray.fromObject(boolArray);
java数组字符串转数组
System.out.println("1:"+ String());
//JSONArray转换Java数组
Object obj[] = Array();
for (Object o : obj) {
System.out.print("2:" + o + " ");
}
}
}
结果:
1:[true,false,true]
2:true 2:false 2:true
8.XML与JSON之间的转换
需要导⼊xom-1.1.jar
public class XMLToJSON {
public static void main(String[] args) throws Exception {
/
/XML转换JSON
String xml = "<root>" + "<name type='type'>wln</name>"
+ "<gender>woman</gender>" + "<birthday>" + "<year>1970</year>"
+ "<month>12</month>" + "<day>17</day>" + "</birthday>"
+ "</root>";
XMLSerializer xmlSerializer = new XMLSerializer();
JSON json = ad(xml);
System.out.println("1:" + String(2));
//JSON转换XML
String jsonStr = "{\"root\":{" + "\"name\":\"wln\","
+ "\"gender\":\"woman\"," + "\"birthday\":{"
+ "\"year\":\"1970\"," + "\"month\":\"12\"," + "\"day\":\"17\""
+ "}" + "}" + "}";
JSONObject jsonObject = JSONObject.fromObject(jsonStr);
String xmlStr = new XMLSerializer().write(jsonObject);
System.out.println("2:" + xmlStr);
}
}
结果:
1:{
"name": "wln",
"gender": "woman",
"birthday":  {
"year": "1970",
"month": "12",
"day": "17"
}
}
2:<?xml version="1.0" encoding="UTF-8"?>
<o><root class="object"><birthday class="object"><day type="string">17</day><month type="string">12</month><year type="string">1970</year></birthday><gender type="string">woman</gender><name type="string">wln</name></root></

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。