JSON的一些轉換和技巧

  

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







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章