什么是JSON對象


1.什么是json?

   JSON全稱是JavaScript Object Notation,是一種輕量級的數據交換格式。JSON 與XML具有相同的特性,是一種數據存儲格式,但是JSON相比XML 更易於人編寫和閱讀,更易於生成和解析。

2.JSON的語法規則:

 1)數據以名稱/值對的形式保存,名稱/值對包括字段名稱(在雙引號中),后面寫一個冒號,然后是值,如 :"firstName" : "John"。JSON的值可以是數字、字符串、null、true、false、數組或對象。

 2)數據有都好分隔

   3)花括號保存對象,對象可以包含多個名/值對。

   4)方括號保存數組,數組可以包含多個對象。

 5)JSON文件:

  • JSON 文件的文件類型是 ".json"
  • JSON 文本的 MIME 類型是 "application/json"

3.JSON 的兩種結構:

1)鍵值對形式,即Name-Value對的結構結構集合(無序的 )。如:{name1:value1.name2:value2,...};

 {"name":"小明","age":"12"}

2)Array(有序的):一組有序的數據列表。例如:[value1,value2,value3,.....],其中,值可以是雙引號引起來的字符串(string)、數值(number)、true、false、null、對象(object)或者數組(Array),這些結構都是可以嵌套的。如:

  例一:對象中可以包含數組

   {"root":[{"id":"001","name":"小紅"},{"id":"002","name":"小明"},{"id":"003","name":"小麗"}],"total":3,"success":true}

     例二:也可以對象嵌套子對象,子對象再嵌套數組:

      {"memberList":{"lists":[{"id":"001","name":"小紅"},{"id":"002","name":"小明"},{"id":"003","name":"小麗"}]}}

     例三:數組中可以包含對象:

       [{"id":"001","name":"小紅"},{"id":"002","name":"小明"},{"id":"003","name":"小麗"},........]

4.JSON 的取值方式和修改方式:

  如:

var employees = [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
];

 取值:employees[0].lastName

   修改數據:employees[0].lastName="Jobs"

 5.JSON與字符串之間的轉化方法:

  JSON轉換為字符串(string)格式:var string=JSON.stringify(obj);

  將Json字符串轉換為JSON:

   (1)var data=JSON.parse(string);

    function strToJson(){

      return JSON.parse(str);

    }

    使用JSON.parse需嚴格遵守JSON規范,如屬性都需要用引號引起來,否則會出錯,如下:

      var str = '{name:"jack"}'; 
      var obj = JSON.parse(str); // --> parse error 

    name沒有用引號引起來,使用JSON.parse所有瀏覽器中均拋異常,解析失敗。(下面這兩種方式則沒有問題)

   (2)eval(string);               

    例如:function myEval(){

          var str='{"id":"001","name":"小明","age":10}';

          var obj=eval('('+str+')');

          alert(obj.toJSONString());

      }

    (3) new Function形式

      function strToJson(str){

        var json=(new Function("return"+str))();

      }

    (4)jQuery中也有將字符串轉為JSON格式的方法jQuery.parseJSON( json ),接受一個標准格式的 JSON 字符串,並返回解析后的 JavaScript (JSON)對象

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM