json字符串和解析的json字符串有什么区别?例如,在 javascript 中假设我有一个 json 格式的字符串,比如 [{},{}]
解析这个字符串也会产生同样的结果。
那么为什么我们需要解析呢?
这只是序列化/反序列化。
在 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 时,您需要将字符串反序列化(解析)为对象。
好问题。区别在于传输格式。
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" }
希望有帮助。一切顺利!纳什
我认为解析的 json 字符串应该是实际 javascript 对象和数据数组中的字符串数据(或 json 字符串包含的任何语言)
JSON 对象包含用于解析 JSON 并将值转换为 JSON 的方法。
它不能被调用或构造,除了它的两个方法属性之外,它没有自己有趣的功能。
JSONParser parser = new JSONParser();
Object object = parser.parse(Message.toString());
JSONObject arObj = (JSONObject) object;