1. 程式人生 > >JSON與JS的區別

JSON與JS的區別

dcb m60 iap per psr noi dom imap emctl

  JSON是什麽?(JSON和JavaScript對象有什麽區別?)如何把JS對象轉化為JSON字符串,又如何把JSON字符串轉化為JavaScript對象?

  JSON (JavaScript Object Notation)一種簡單的數據格式,比xml更輕巧。 JSON 是 JavaScript 原生格式, 這意味著在JavaScript 中處理 JSON 數據不需要任何特殊的 API 或工具包。JSON的規則很簡單: 對象是一個無序的“名稱/值”對集合。一個對象以“{”(左括號)開始,“}”(右括號)結束。每個“名稱”後跟一個“:”(冒號);“名稱/值”對之間 使用“,”(逗號)分隔。

  它是一種嚴格的js對象的格式,JSON的屬性名必須有雙引號,如果值是字符串,也必須是雙引號;

JSON只是一種數據格式(或者叫數據形式);

<script>
var obj2={};//這只是JS對象
var obj3={width:100,height:200};/*這跟JSON就更不沾邊了,只是JS的 對象 */
var obj4={width:100,height:200};/*這跟JSON就更不沾邊了,只是JS的對象 */
var obj5={"width":100,"height":200,"name":"rose"}; /*我們可以把這個稱做:JSON格式的JavaScript對象 
*/ var str1={"width":100,"height":200,"name":"rose"};/*我們可以把這個稱做:JSON格式的字符串 */ var a=[ {"width":100,"height":200,"name":"rose"}, {"width":100,"height":200,"name":"rose"}, {"width":100,"height":200,"name":"rose"}, ]; /*這個叫JSON格式的數組,是JSON的稍復雜一點的形式 */ var str2=[+ {"width":100,"height":200,"name":"rose"},+
{"width":100,"height":200,"name":"rose"},+ {"width":100,"height":200,"name":"rose"},+ ] ; /* 這個叫稍復雜一點的JSON格式的字符串 */ </script>

JSON和JS對象區別對比表

技術分享

  總而言之你可以理解為JSON是JS下的一種數據格式,他從屬於JS,並且在處理JSON數據時可直接使用JS內置API

JSON實例

{
"sites": [
{ "name":"菜鳥教程" , "url":"www.runoob.com" }, 
{ "name":"google" , "url":"www.google.com" }, 
{ "name":"微博" , "url":"www.weibo.com" }
]
}

JSON - 轉換為 JavaScript 對象

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

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

JSON與JS的區別