JSON的小知識
JSON: JavaScript Object Notation(JavaScript 對象表示法)
JSON 是存儲和交換文本信息的語法。類似 XML。
JSON 比 XML 更小、更快,更易解析。
JSON 實例:可以通過"在線JSON校驗的網站"進行校驗
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
JSON的數據結構
json簡單說就是javascript中的對象和數組,所以這兩種結構就是對象和數組兩種結構,通過這兩種結構可以表示各種複雜的結構
1、對象:對象在js中表示爲“{}”括起來的內容,數據結構爲 {key:value,key:value,...}的鍵值對的結構,在面向對象的語言中,key爲對象的屬性,value爲對應的屬性值,所以很容易理解,取值方法爲 對象.key 獲取屬性值,這個屬性值的類型可以是 數字、字符串、數組、對象幾種。
2、數組:數組在js中是中括號“[]”括起來的內容,數據結構爲 ["java","javascript","vb",...],取值方式和所有語言中一樣,使用索引獲取,字段值的類型可以是 數字、字符串、數組、對象幾種。
經過對象、數組2種結構就可以組合成複雜的數據結構了。
如何獲取JSON的數組:jQuery.serializeArray()
詳情請參考:http://www.365mini.com/page/jquery-serialize.htm
serializeArray()
函數用於序列化一組表單元素,將表單內容編碼爲一個JavaScript數組。
注意:
與常規表單提交不一樣的是:常規表單一般會提交帶有name的按鈕控件,而serializeArray()
函數不會序列化帶有name的按鈕控件。
示例:
<form name="myForm" action="http://www.365mini.com" method="post">
<input name="uid" type="hidden" value="1" />
<input name="username" type="text" value="張三" />
<input name="password" type="text" value="123456" />
<select name="grade" id="grade">
<option value="1">一年級</option>
<option value="2">二年級</option>
<option value="3" selected="selected">三年級</option>
<option value="4">四年級</option>
<option value="5">五年級</option>
<option value="6">六年級</option>
</select>
<input name="sex" type="radio" checked="checked" value="1" />男
<input name="sex" type="radio" value="0" />女
<input name="hobby" type="checkbox" checked="checked" value="1" />游泳
<input name="hobby" type="checkbox" checked="checked" value="2" />跑步
<input name="hobby" type="checkbox" value="3" />羽毛球
<input name="btn" id="btn" type="button" value="點擊" />
</form>
對<form>元素進行序列化可以直接序列化其內部的所有表單元素:
var formArray = $("form").serializeArray();
/* 以下是序列化後的結果數組formArray的內容:
[
{ name: "uid", value: "1" },
{ name: "username", value: "張三" },
{ name: "password", value: "123456" },
{ name: "grade", value: "3" },
{ name: "sex", value: "1" },
{ name: "hobby", value: "1" },
{ name: "hobby", value: "2" }
];
*/
JavaScript JSON與String互轉
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> JSON 測試 </title>
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"> </script>
</head>
<body>
<script>
//建立一個簡單的Json對象
var testJsonObj = {"name":"lilao", "email":"[email protected]"};
alert("JSON OBJ:" + testJsonObj);
//將Json對象直接轉換成字符串
var testJsonString = JSON.stringify(testJsonObj);
alert("JSON String:"+ testJsonString);
//將字符串轉換成Json對象,使用了Jquery函數
alert(jQuery.parseJSON(testJsonString));
alert(jQuery.parseJSON(testJsonString).name);
</script>
</body>
</html>
JSON 字符串 與 java 對象的轉換
請參考:http://mengzhengbin520.blog.51cto.com/7590564/1283361