2012-06-27 92 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;