Jquery $.parseJASON()的作用是什么?
我刚刚开始学习如何使用JSON,这可能是一个noob问题:?为什么我必须解析JSON 我有一个来自php数组的JSON对象(我使用了它Jquery $.parseJASON()的作用是什么?,jquery,json,Jquery,Json,我刚刚开始学习如何使用JSON,这可能是一个noob问题:?为什么我必须解析JSON 我有一个来自php数组的JSON对象(我使用了它JSON\u encode),它看起来像这样: var jason = { "book1": { "price": 10, "weight": 30 }, "book2": { "price": 40, "weight": 60 } }; var jason = '{"book1":{"price":10,"we
JSON\u encode
),它看起来像这样:
var jason =
{
"book1": {
"price": 10,
"weight": 30
},
"book2": {
"price": 40,
"weight": 60
}
};
var jason = '{"book1":{"price":10,"weight":30},"book2":{"price":40,"weight":60}}';
我可以使用$循环遍历它。each()
函数,那么我为什么要解析它呢?应用解析后,我不能再使用$.each()
,不知道为什么。我不明白为什么我不能使用这样的东西:控制台(jason.book1[1])
我知道jquery中的描述是:
Description:获取格式良好的JSON字符串并返回结果JavaScript对象
但我真的不明白。不管怎样,任何帮助都将被感激 JSON是数据的一种表示形式。当它来自HTML或XHR时,它总是一个字符串(只是一个字符序列)。除了构成它的单个字符外,它没有任何意义。将属性指向其值的
:
与JSON中可能出现在字符串中的:
没有什么不同的含义
您必须对其进行解析以获得可用的版本,也就是说,将字符串转换为您语言中的本机数据结构。这会将字符串解析为其组件。在JavaScript中,它被转换成对象、数组、布尔值、空值、数字等。在其他语言中,有等效的类型和结构。以上是JavaScript中的一个对象(从技术上讲不是JSON,因为JSON只是表示对象的符号,而不是数据结构。不过说这一点很迂腐):
但是,假设您有这样一个字符串:
var jason =
{
"book1": {
"price": 10,
"weight": 30
},
"book2": {
"price": 40,
"weight": 60
}
};
var jason = '{"book1":{"price":10,"weight":30},"book2":{"price":40,"weight":60}}';
你可以通过多种方式获得该字符串,但假设你拥有它
$.parseJSON(jason)
会将该字符串转换为上面的对象
看到了吗 您拥有的是一个javascript对象,而不是JSON。恰好javascript对象与JSON字符串共享相似的语法。正如其他人所说,这是一个javascript对象,而不是JSON。把JSON想象成XML,通常在使用它之前也会对它进行解析。如果使用PHP并将JSON编码的数组注入JS,那么只要利用JSON在被解释为JS时是有效的JS这一事实即可。这或多或少是巧合。谢谢你的回答。但是,即使在解析它之后,我仍然不能使用
jsonparsed.book1[0]
@mat book1没有0属性。试试书1.价格