JavaScript JSON


JSON表示JavaScript Object Notation。JSON是一种轻量级的数据交换格式。JSON是语言无关的。


JSON语法

下面是JSON的语法:

  • JSON每个数据是一个名称/值对。
  • JSON数据之间使用逗号分隔。
  • JSON对象数据前后加上花括号。例如{"name" : "dog", "food" : "bone"}。
  • JSON数组数据前后加上方括号。例如["red", "blue", "green"]。

JSON和Javascript对象的区别:

语法上两者很相似。Javascript对象中名称/值对中的名称前后不需要引号,JSON的名称前后需要引号。JSON中字符串必须前后必须使用双引号,不能使用单引号。

JSON中值的数据类型可以是字符串、数字、布尔值、对象、数组、null。Javascript中值的数据类型除了JSON中值的数据类型外,还可以是函数、日期、undefined。

JSON字符串转换成Javascript对象

JSON.parse方法将JSON字符串转换成Javascript对象。

下面是JSON字符串转换成Javascript对象的例子:

<!DOCTYPE html><html><body><pre>
<script type="text/javascript">
  var json = '{"name" : "dog", "color" : "white", "foods" : ["meat", "bone"]  }';
  var obj = JSON.parse(json);

  document.writeln("obj.name : " + obj.name);       // dog
  document.writeln("obj.foods : " + obj.foods[1]);  // bone
</script>
</pre></body></html>

Javascript对象转换成JSON字符串

JSON.stringify方法将Javascript对象转换成JSON字符串。

下面是Javascript对象转换成JSON字符串的例子:

<!DOCTYPE html><html><body><pre>
<script type="text/javascript">
  var obj = {
    name : "dog",
    color : "white",
    foods : ["meat", "bone"]
  };
  var json = JSON.stringify(obj);

  document.writeln("json : " + json); // {"name":"dog","color":"white","foods":["meat","bone"]}
</script>
</pre></body></html>