您的位置:首页 > 移动开发 > Objective-C

JSONObject和JSONArray的简单使用(json-lib)

2016-09-08 17:06 405 查看
一. jar包

commons-lang.jar

commons-beanutils.jar

commons-collections.jar

commons-logging.jar

ezmorph.jar

json-lib-2.2.2-jdk15.jar

二. 代码

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class Test {

public static void main(String[] args) {
new Test().test1();
new Test().test2();
new Test().test3();
new Test().test4();
new Test().test5();
new Test().test6();
new Test().test7();
}

/**
* JSON字符串转JSONObject对象
*/
public void test1() {
String jsonStr = "{\"name\":\"ZhangSan\",\"sex\":\"boy\",\"age\":18}";
JSONObject jsonObj = JSONObject.fromObject(jsonStr);
System.out.println(jsonObj.toString());
}

/**
* 简单JSONObject对象转java对象
*/
public void test2() {
JSONObject jsonObj = new JSONObject();
jsonObj.put("name", "LiSi");
jsonObj.put("sex", "girl");
jsonObj.put("age", 17);
Student student = (Student) JSONObject.toBean(jsonObj, Student.class);
System.out.println(student.getName() + " | " + student.getSex() + " | " + student.getAge());
}

/**
* 复杂JSONObject对象转java对象
*/
@SuppressWarnings("rawtypes")
public void test3() {
List<Student> students = new ArrayList<Student>();
students.add(new Student("ZhangSan", "boy", 18));
students.add(new Student("LiSi", "girl", 17));

BanJi banji = new BanJi();
banji.setBanJiName("日语二班");
banji.setStudents(students);

JSONObject jsonObj = JSONObject.fromObject(banji);
Map<String, Class> classMap = new HashMap<String, Class>();
classMap.put("students", Student.class);
BanJi banji2 = (BanJi) JSONObject.toBean(jsonObj, BanJi.class, classMap);
System.out.println(banji2.getStudents().get(0).getName()); // 验证转换是否成功
}

/**
* 简单java集合对象转JSONArray
*/
public void test4() {
List<Student> students = new ArrayList<Student>();
students.add(new Student("ZhangSan", "boy", 18));
students.add(new Student("LiSi", "girl", 17));
JSONArray jsonArray = JSONArray.fromObject(students);
System.out.println(jsonArray.toString());
}

/**
* JSONArray转java集合对象
*/
@SuppressWarnings({ "unchecked", "deprecation" })
public void test5() {
JSONObject jsonObj1 = new JSONObject();
jsonObj1.put("name", "ZhangSan");
jsonObj1.put("sex", "boy");
jsonObj1.put("age", 18);

JSONObject jsonObj2 = new JSONObject();
jsonObj2.put("name", "lisi");
jsonObj2.put("sex", "girl");
jsonObj2.put("age", 17);

JSONArray jsonArray = new JSONArray();
jsonArray.add(0, jsonObj1);
jsonArray.add(1, jsonObj2);

List<Student> students3 = JSONArray.toList(jsonArray, Student.class);
System.out.println(students3.get(0).getName());
System.out.println(students3.get(1).getName());
}

/**
* 复杂java集合对象转JSONArray
*/
@SuppressWarnings({ "rawtypes", "unchecked", "deprecation" })
public void test6() {
BanJi banji1 = new BanJi();
banji1.setBanJiName("日语一班");
List<Student> students1 = new ArrayList<Student>();
students1.add(new Student("ZhangSan", "boy", 18));
banji1.setStudents(students1);

BanJi banji2 = new BanJi();
banji2.setBanJiName("日语二班");
List<Student> students2 = new ArrayList<Student>();
students1.add(new Student("LiSi", "girl", 17));
banji2.setStudents(students2);

List<BanJi> banjiList = new ArrayList<BanJi>();
banjiList.add(banji1);
banjiList.add(banji2);

JSONArray jsonArray = JSONArray.fromObject(banjiList);
Map<String, Class> classMap = new HashMap<String, Class>();
classMap.put("students", Student.class);
List<BanJi> banjiList2 = JSONArray.toList(jsonArray, BanJi.class, classMap);
System.out.println(banjiList2.get(0).getStudents().get(0).getName());

}

/**
* 拆分JSONArray为JSONObject
*/
public void test7() {
JSONObject jsonObj1 = new JSONObject();
jsonObj1.put("name", "ZhangSan");
jsonObj1.put("sex", "boy");
jsonObj1.put("age", 18);

JSONObject jsonObj2 = new JSONObject();
jsonObj2.put("name", "lisi");
jsonObj2.put("sex", "girl");
jsonObj2.put("age", 17);

JSONArray jsonArray = new JSONArray();
jsonArray.add(0, jsonObj1);
jsonArray.add(1, jsonObj2);

JSONObject object = (JSONObject) jsonArray.get(0);
System.out.println(object.toString());
}

}


import java.util.List;

/**
* 班级类
*/
public class BanJi {

private String banJiName; // 班级名

private List<Student> students; // 学生

/**
* 构造函数
*/
public BanJi() {
super();
}

// getters/setters(略)
}


/**
* 学生类
*/
public class Student {

private String name; // 姓名

private String sex; // 性别

private int age; // 年龄

/**
* 构造函数
*/
public Student() {
super();
}

/**
* 构造函数
*/
public Student(String name, String sex, int age) {
super();
this.name = name;
this.sex = sex;
this.age = age;
}

// getters/setters(略)
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: