Json案例

JSON(JavaScript Object Notation)是一種輕量級的數據交換格式。人類很容易讀寫。機器很容易解析和生成。它基於 JavaScript編程語言的一部分, 標準ECMA-262第3版 - 1999年12月。JSON是一種完全獨立於語言的文本格式,但使用C語言系列程序員熟悉的約定,包括C,C ++,C#,Java,JavaScript,Perl,Python等等。這些屬性使JSON成爲理想的數據交換語言。

JSON 語法是 JavaScript 對象表示法語法的子集。
數據在名稱/值對中、數據由逗號分隔、花括號保存對象、方括號保存數組

JSON 值可以是:數字(整數或浮點數)、字符串(在雙引號中)、邏輯值(true 或 false)、數組(在方括號中)、對象(在花括號中)、null

JSON - 轉換爲 JavaScript 對象
JSON 文本格式在語法上與創建 JavaScript 對象的代碼相同。

由於這種相似性,無需解析器,JavaScript 程序能夠使用內建的 eval() 函數,用 JSON 數據來生成原生的 JavaScript 對象。

<script type="text/javascript">
var JSONObject= {
"name":"Bill Gates",
"street":"Fifth Avenue New York 666",
"age":56,
"phone":"555 1234567"};
document.getElementById("jname").innerHTML=JSONObject.name
document.getElementById("jage").innerHTML=JSONObject.age
document.getElementById("jstreet").innerHTML=JSONObject.street
document.getElementById("jphone").innerHTML=JSONObject.phone
</script>

**JSON 對象 **

						Object
{ "firstName":"John" , "lastName":"Doe" }
						等價於
				firstName = "John"
				lastName = "Doe"

JSON 數組

						Array
{"employees": 
[{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }]}
JSON 使用 JavaScript 語法
var employees =
 [{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }];

將JSON轉換成數組

function jsonToArray(obj){
    var r = {key:[],value:[]};
    for(var k in obj){
        if(!obj.hasOwnProperty(k)){
            continue;
        }
        r.key.push(k);
        r.value.push(obj[k]);
    }
    return r;
}

JSON 實例 - 來自字符串的對象

		創建包含 JSON 語法的 JavaScript 字符串:
var txt = '{ "employees" : [' +
'{ "firstName":"Bill" , "lastName":"Gates" },' +
'{ "firstName":"George" , "lastName":"Bush" },' +
'{ "firstName":"Thomas" , "lastName":"Carter" } ]}';
	eval() 函數使用的是 JavaScript 編譯器,可解析 JSON 文本,然後生成 JavaScript 對象。
	var obj = eval ("(" + txt + ")");
	

複雜類型json

{
    "name":"小強",
    "age":16,
    "msg":["a","b"],
    "regex": "^http://.*"
};

JSON.parse是將json格式的字符串轉換成json對象。

var str ='{"name":"小強","age":16,"msg":["a","b"],"regex": "^http://.*"}';
var json = JSON.parse(str);
console.log("name:" + json.name);
console.log("msgLen:" + json.msg.length);

JSON.stringify是將json對象轉換成json格式的字符串。

var json = {"name":"小強","age":16,"msg":["a","b"],"regex": "^http://.*"};
var str = JSON.stringify(json);
console.log("json:" + str);
console.log("jsonLen:" + str.length);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章