1

我刚刚开始学习如何使用 JSON,这可能是一个菜鸟问题:¿为什么我必须解析 JSON?

我有一个来自 php 数组的 JSON 对象(我已经使用过它json_encode),它看起来像这样:

var jason = 
{
  "book1": {
    "price": 10,
    "weight": 30
  },
  "book2": {
    "price": 40,
    "weight": 60
  }
};

我可以使用该函数循环遍历它$.each(),那我为什么要解析它呢?应用解析后,我不能再使用$.each()了,不知道为什么。而且我不明白为什么我不能使用这样的东西:console(jason.book1[1]);

我知道 jquery 中的描述说:

描述采用格式良好的 JSON 字符串并返回结果 JavaScript 对象。

但我真的不明白。无论如何,任何帮助都会得到帮助!

4

2 回答 2

2

以上是 JavaScript 中的对象(从技术上讲不是 JSON,因为 JSON 只是表示对象而不是数据结构的符号。不过这样说有点迂腐):

但是,假设您有一个这样的字符串:

var jason = '{"book1":{"price":10,"weight":30},"book2":{"price":40,"weight":60}}';

您可以通过多种方式获得该字符串,但要说您拥有它。

$.parseJSON(jason)将把那个字符串变成你上面的对象。

看?http://jsfiddle.net/7Qvd2/

于 2012-10-31T01:07:43.710 回答
1

JSON 是数据的表示形式。当它来自 HTML 或 XHR 时,它总是一个字符串(只是一个字符序列)。除了组成它的各个字符之外,它没有任何意义。将:属性指向其值的:与可能出现在 JSON 中的字符串中的 a 没有不同的含义。

您必须对其进行解析以获取可用版本,即将字符串转换为您的语言中的本机数据结构。这会将字符串解析为其组件。在 JavaScript 中,就是将其转换为对象、数组、布尔值、空值、数字等。在其他语言中,存在等价的类型和结构。

于 2012-10-31T01:04:55.623 回答