1. 程式人生 > >資料交換格式之JSON

資料交換格式之JSON

JSON是一種以鍵值對傳遞的資料格式,本文主要針對JSON資料格式在JavaScript以及Java語言中的具體應用,JSON相關介紹以及和其他資料格式的比較將在接下來的文章中給出。

一、JavaScript是JSON的主戰場,JSON可以說是JavaScript物件文字元號的一個子集,由於JSON是JavaScript的一個子集,所以它可以自如的在JavaScript中使用。
在JSON中,有兩種結構:物件和陣列。
1.建立json物件

var jsonObject1 = {};
jsonObject1["name"] = 'stryang';
jsonObject1["sex"] = '男'
; jsonObject1["age"] = 24; //或者 var jsonObject2 = {"name":'stryang',"sex":'男',"age":24};

2.建立json陣列

var jsonArray = [];
var jsonObject1 = {"name":'stryang',"sex":'男',"age":24};
var jsonObject2 = {"name":'stryang',"sex":'男',"age":24};
var jsonObject3 = {"name":'stryang',"sex":'男',"age":24};
var jsonObject4 =
{"name":'stryang',"sex":'男',"age":24}; jsonArray.push(jsonObject1); jsonArray.push(jsonObject2); jsonArray.push(jsonObject3); jsonArray.push(jsonObject4);

3.json字串轉json物件(使用json.js)

//json字串
var jsonStr = '{"name":'stryang',"sex":'',"age":24}';
var jsonObject = jsonStr.parseJSON(); 
//或者
jsonObject =
JSON.parse(jsonStr);

4.json物件轉json字串(使用json.js)

var jsonObject = {"name":'stryang',"sex":'男',"age":24};
var jsonStr = jsonObject .toJSONString(); 

二、Java中有許多操作JSON的開發包,這裡以alibaba的fastjson.jar為例。
1.由java物件生成json字串

//JSON.toJSONString(Object object)方法可以將任何一個java物件轉為json字串,其鍵值分別對應java物件的屬性和屬性的值
User stryang = new User("stryang", "男", 24);
String jsonStr = JSON.toJSONString(object);

2.將json字串轉為java物件

String jsonStr = "{\"name\":\"stryang\",\"sex\":\"男\",\"age\":24}";
User stryang = JSON.parseObject(jsonStr, User.class);

3.將json陣列字串轉為json陣列並解析

//json陣列字串
String jsonArrayStr = "[{\"name\":\"stryang\",\"sex\":\"男\",\"age\":24},{\"name\":\"stryang\",\"sex\":\"男\",\"age\":24},{\"name\":\"stryang\",\"sex\":\"男\",\"age\":24}]";
JSONArray jsonArray = JSON.parseArray(jsonArrayStr);
//解析數組裡面json字串
for(int i = 0;i < jsonArray.size();i ++){
	User user = JSON.parseObject(jsonArray.getString(i), User.class);
}