* 阿里巴巴的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);
}