2012-06-27 89 views

回答

5

這只是序列化/反序列化。

在Javscript代碼中,您通常使用對象,因爲它可以讓您輕鬆獲取其屬性等,而JSON字符串對您沒有太大的幫助。

var jsonobj = { "arr": [ 5, 2 ], "str": "foo" }; 
console.log(jsonobj.arr[1] + jsonobj.str); 
// 2foo 

var jsonstr = JSON.stringify(jsonobj); 
// cannot do much with this 

但是,要通過Ajax調用將其發送到服務器,您需要先序列化(字符串化)。同樣,當從服務器接收到JSON時,您需要將字符串反序列化(解析)爲對象。

0

我覺得一個解析的JSON字符串應該是字符串數據轉換成實際的JavaScript對象和數據陣列(或任何語言的JSON字符串包含)

3

大問題。不同之處在於傳輸格式。

JSON只是JavaScript對象的'符號',它實際上並不是JavaScript'對象 - 文字'本身。因此,在JSON中接收數據時,它只是一個要解釋,評估和解析的字符串,以便成爲實際的JavaScript對象文字。

兩者之間有一個物理差異,那就是引號。它是有道理的,JSON需要是一個要傳輸的字符串。這是如何:

//A JavaScript Object-Literal 

var anObj = { member: 'value'} 

//A JSON representation of that object 

var aJSON = { "member":"value" } 

希望有所幫助。祝一切順利! Nash

0

JSON對象包含解析JSON並將值轉換爲JSON的方法。

它不能被調用或構建,除了它的兩個方法屬性外,它沒有它自己的有趣功能。

JSONParser parser = new JSONParser(); 
Object object = parser.parse(Message.toString()); 
JSONObject arObj = (JSONObject) object;