1. 程式人生 > >js處理json陣列

js處理json陣列

    JSON(JavaScript Object Notation )是一種輕量級的資料交換格式,採用完全獨立於語言的文字格式,JSON是JavaScript原生資料格式。

    在JSON中,有兩種資料結構:物件和陣列。

    1.一個物件以“{”開始,“}”結束。每個“名稱”後跟一個“:”,“名稱/值”對之間運用“,”分隔,名稱用引號括起來,如果是字串則必須用括號,數值型別則不需要。

例:var obj={"xlid":"cxh","xldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"};

    2.陣列是值的有序集合,一個數組以“[”開始,以“]”結束,值之間用“,”分隔。

例:var  jsonranklist=[{"xlid":"cxh","xldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"},{"xlid":"zd","xldigitid":123456,"topscore":1500,"topplaytime":"2009-11-20"}];

    在資料傳輸流程中,json是文字,即以字串形式傳遞,而JS操作的是json物件,所以,JSON物件和JSON字串之間可以相互轉換。

    JSON字串:

    var str1 = '{ "name": "cxh", "sex": "man" }';

    JSON物件:

    var str1 = { "name": "cxh", "sex": "man" };

    3.JSON字串轉換為JSON物件:

    //JSON字串轉換JSON物件

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

    var Obj = JSON.parse(str);

    var Obj = str.parseJSON();

    使用的時候直接,alert(Obj.name)。

    *注:如果Obj本身就是一個JSON物件,用eval()函式處理後,結果還是JSON物件,但用parseJSON()處理會丟擲語法異常。

    4.JSON物件轉化為JSON字串。

    var str1 = Obj.toJSONString();

    var str2 = JSON.stringgify(obj);

    今天測試遇到的問題,php在將資料回傳給ajax時發現,用echo和print_r都沒有問題,var_dump回傳的資料在轉換成JSON物件時失敗 ,請大神詳解~~