json字符串和解析后的json字符串有什么区别? 例如在javascript中假设我有一个json格式的字符串说[{},{}]
解析此字符串也会产生相同的结果。
那么为什么我们需要解析?
答案 0 :(得分:6)
这只是序列化/反序列化。
在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时,您需要从字符串反序列化(解析)到对象。
答案 1 :(得分:4)
好问题。不同之处在于传输格式。
JSON只是JavaScript对象的“符号”,它本身并不是JavaScript的“对象 - 文字”。因此,当在JSON中接收数据时,它只是一个要解释,评估,解析的字符串,以便成为实际的JavaScript'Object-Literal。
两者之间存在一个物理差异,即引号。有意义的是,JSON需要是要传输的字符串。方法如下:
//A JavaScript Object-Literal
var anObj = { member: 'value'}
//A JSON representation of that object
var aJSON = { "member":"value" }
希望有所帮助。祝一切顺利!纳什
答案 2 :(得分:0)
我认为解析的json字符串应该是实际javascript对象和数据数组中的字符串数据(或者json字符串包含的任何语言)
答案 3 :(得分:0)
JSON对象包含用于解析JSON并将值转换为JSON的方法。
它不能被调用或构造,除了它的两个方法属性之外,它没有自己的有趣功能。
JSONParser parser = new JSONParser();
Object object = parser.parse(Message.toString());
JSONObject arObj = (JSONObject) object;