欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解js中Json的語法與格式

 更新時(shí)間:2016年11月22日 11:29:06   作者:逆心  
本文詳細(xì)介紹了js中Json的語法與編寫格式,有需要的朋友可以看下

JSON 文本格式在語法上與創(chuàng)建 JavaScript 對象的代碼相同。

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

JSON語法規(guī)則:

數(shù)據(jù)在 名稱/值 對仲
數(shù)據(jù)由逗號分隔
花括號保存對象
方括號保存數(shù)組

JSON 名稱/值 對介紹

"name":"張飛",
"age":23

Json的值可以是:

數(shù)字(整數(shù)或浮點(diǎn)數(shù))
字符串(要包括在雙引號中)
邏輯值(true或false)
數(shù)組(在方括號中)
對象(在花括號中)

Json轉(zhuǎn)javascript對象的方法為:

eval("(" + str + ")");

代碼示例:

<html>
<head>
 <title>Json測試</title>
 <script src="/Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
 <script type="text/javascript">
  //基本上,Json返回的要么是對象,要么是數(shù)組,如果單純返回一個(gè)字符串,那么就沒有必要用Json了,因此
  //Json基本就下面這些可,不過要注意雙引號
  var str0 = "{employees:'測試'}";
  var obj0 = eval("(" + str0 + ")");
  alert(obj0.employees);   //輸出測試

  var str = "{name:'張三',Age:21}";
  var obj = eval("(" + str + ")");
  document.write(obj.name + obj.Age); //輸出 張三21
  alert(obj.name);

  //別看下面那段Json長,其實(shí)是一個(gè)對象,屬性employees的值是一個(gè)對象數(shù)組。和上面的相比,只是name:張三 中的"張三"字符串 變成了對象數(shù)組而已
  var str2 = '{ "employees" : [' + '{ "firstName":"Bill" , "lastName":"Gates" },' + '{ "firstName":"George" , "lastName":"Bush" },' + '{ "firstName":"Thomas" , "lastName":"Carter" } ]}';
  var obj2 = eval("(" + str2 + ")");
  alert(obj2.employees[0].firstName);  //彈出 Bill

  var str3 = "[1,2,3,4,5,6]";    //json 數(shù)組
  var obj3 = eval("(" + str3 + ")");  //輸出 2
  alert(obj3[1]);
 </script>
</head>
<body>
 <div id="div1">
 </div>
</body>
</html>

Json與JavaScript對象轉(zhuǎn)換

  JSON轉(zhuǎn)javascript對象

//Json轉(zhuǎn)對象1
function JsonToObject(str) {
 return eval("(" + str + ")");
}

//Json轉(zhuǎn)對象2 
function strToJson(str){
 var json = (new Function("return " + str))();
 return json;
}

//Json轉(zhuǎn)對象3 jQuery工具函數(shù)
$.parseJSON()

  javascript對象轉(zhuǎn)JSON

//javascript對象轉(zhuǎn)Json
function ObjectToJson(o) {
 var arr = [];
 var fmt = function(s) {
  if (typeof s == 'object' && s != null) return json2str(s);
  return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s;
 }
 for (var i in o) arr.push("'" + i + "':" + fmt(o[i]));
 return '{' + arr.join(',') + '}';
}

以上就是本文的全部內(nèi)容,希望對大家有所幫助,謝謝對腳本之家的支持!

相關(guān)文章

最新評論