* 阿里巴巴的jar
*
* 总结:
* 1、有操作json文件的JSONObject对象类和JSONArray数组类
*
* 2、 JSON类静态方法比较多,可以把java对象转换为json对象(需要强转)和json格式的字符串
* 可以把json格式的字符串转换为java的对象 ------------ (具体类名.class)
* 如果转换的类型为集合,那么就必须实现TypeReference泛型接口,调用getType()方法,并且给出具体的转换类型
*
* 注意:和org.jar中一样,如果数据底层是数组结构时,不可以直接转换为JSONObject,运行时会报错
*
ublic class Fastjson {
public static void main(String[] args) {
JSONObject object=new JSONObject();//创建json对象
object.put("id", 43);//添加key和value值 put()方法
object.put("name", "刘德华");
object.put("sex", "男");
//json对象转换为字符串 toJSONString()方法
String s=object.toJSONString();
//java对象转换为json对象,需要强转 静态方法toJSON();
JSONObject object2=(JSONObject) JSON.toJSON(new Student(2006,"杨钰莹",99.8));
//json格式的字符串转换为json对象 静态方法parseObject();
String json="{'id':'1002','name':'刘德华','sex':'男'}";
JSONObject object3=JSON.parseObject(json);
//System.out.println(object3);//打印对象信息
//System.out.println(object3.get("name"));//通过key值获取对应的value值
//json数组格式的字符串转换为json数组
String jsons="[{'k1':'value1', 'k2':'value2'},{'k1':'value1', 'k2':'value2'}]";
//字符串转换为json数组 静态方法parseArray();
JSONArray array=JSON.parseArray(jsons);
//System.out.println(array.toJSONString());
//json格式的字符串转换为java对象
//注意:字符串的内容和顺序必须和对象的属性一样
//对象的属性(在json字符串中全部不用打引号)如果不是字符串类型,那么json格式的字符串的这个属性值可以不用打引号!!
String str="{id: 1002 ,name:'刘德华',sex:'男'}";
//字符串转换为具体的java对象 静态方法parseObject();
//参数1:json格式的字符串 参数2:java对象的类型.class
Student student=JSON.parseObject(str,Student.class);
//拿到学生对象的集合
List<Student>list=JSONUtil.getListData();
String s1=JSON.toJSONString(list);//java集合对象转换为json格式的字符串
// 字符串转换为java对象(集合对象) 参数1:字符串 参数2:实现TypeReference泛型接口,调用getType()方法,给定转换的具体类型
List<Student>list1=JSON.parseObject(s1, new TypeReference<List<Student>>(){}.getType());
for(Student stu:list1){//变量集合
System.out.println(stu);
}