ホームページ  >  記事  >  ウェブフロントエンド  >  jsのJsonの構文と形式を詳しく解説

jsのJsonの構文と形式を詳しく解説

高洛峰
高洛峰オリジナル
2016-12-05 16:52:00740ブラウズ

JSON テキスト形式は、JavaScript オブジェクトを作成するコードと構文的に同じです。

この類似性により、JavaScript プログラムは組み込みの eval() 関数を使用して、パーサーを必要とせずに JSON データからネイティブ JavaScript オブジェクトを生成できます。

JSON 構文規則:

データは名前と値のペアで構成されます
データはカンマで区切られます
中括弧はオブジェクトを保存します
角括弧は配列を保存します

JSON 名と値のペアの概要

"name":"张飞",
"age":23

Json の値は次のとおりです:

数値 (整数または浮動小数点数)
文字列 (二重引用符で囲む)
論理値 (true または false)
配列 (角括弧内)
オブジェクト (中括弧内)

Json を次のように変換するメソッドjavascript オブジェクトは ;

javascript オブジェクト JSON に変換します

<html>
<head>
 <title>Json测试</title>
 <script src="/Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
 <script type="text/javascript">
  //基本上,Json返回的要么是对象,要么是数组,如果单纯返回一个字符串,那么就没有必要用Json了,因此
  //Json基本就下面这些可,不过要注意双引号
  var str0 = "{employees:&#39;测试&#39;}";
  var obj0 = eval("(" + str0 + ")");
  alert(obj0.employees);   //输出测试
 
  var str = "{name:&#39;张三&#39;,Age:21}";
  var obj = eval("(" + str + ")");
  document.write(obj.name + obj.Age); //输出 张三21
  alert(obj.name);
 
  //别看下面那段Json长,其实是一个对象,属性employees的值是一个对象数组。和上面的相比,只是name:张三 中的"张三"字符串 变成了对象数组而已
  var str2 = &#39;{ "employees" : [&#39; + &#39;{ "firstName":"Bill" , "lastName":"Gates" },&#39; + &#39;{ "firstName":"George" , "lastName":"Bush" },&#39; + &#39;{ "firstName":"Thomas" , "lastName":"Carter" } ]}&#39;;
  var obj2 = eval("(" + str2 + ")");
  alert(obj2.employees[0].firstName);  //弹出 Bill
 
  var str3 = "[1,2,3,4,5,6]";    //json 数组
  var obj3 = eval("(" + str3 + ")");  //输出 2
  alert(obj3[1]);
 </script>
</head>
<body>
 <div id="div1">
 </div>
</body>
</html>


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。