JSON语法,这是什么?
我理解JSON的概念,但在开始使用易趣的api之后,我遇到了一个我以前从未见过的符号,我想知道是否有人能解释一下它到底是怎么回事JSON语法,这是什么?,json,Json,我理解JSON的概念,但在开始使用易趣的api之后,我遇到了一个我以前从未见过的符号,我想知道是否有人能解释一下它到底是怎么回事 { "findItemsByKeywordsResponse": [ { "ack": [ "Success" ], "version": [ "1.5.0" ], "timestamp": [ "2010
{
"findItemsByKeywordsResponse": [
{
"ack": [
"Success"
],
"version": [
"1.5.0"
],
"timestamp": [
"2010-06-16T08:42:21.468Z"
],
"searchResult": [
{
"@count": "0"
}
],
"paginationOutput": [
{
"pageNumber": [
"0"
],
"entriesPerPage": [
"10"
],
"totalPages": [
"0"
],
"totalEntries": [
"0"
]
}
]
}
]
}
“计数”是什么?我注意到当我在chrome中引用它时,它抛出了一个错误:
但在Firefox中并非如此。JSON Lint报告它是有效的,正如我所期望的…;) 它是以
@
字符开头的属性名称。仅此而已
用于访问包含不能在点表示法中使用的字符的属性
i、 e
尝试:
没有要求Javascript数组键必须是有效的Javascript标识符。除了这里的答案,当从XML创建JSON时,
@
通常出现在JSON属性名称中。@
表示一个XML属性,因此可以以新的JSON形式将其与XML节点的子元素区分开来。例如,XML中的特定项可能如下所示:
<searchResult count="0">
</searchResult>
如前所述,可以使用方括号表示法访问属性。在PHP中,如果要访问名称以无效字符开头的属性,必须使用
{'property\u name'}
。因此,如果您想从特定的JSON示例访问@count
,您应该尝试以下方法:
$json_decoded = json_decode($json_var);
$count = $json_decoded->findItemsByKeywordsResponse[0]->searchResult[0]->{'@count'};
json\u decode()
函数用于将json转换为PHP对象。谢谢,这非常有效。那么这个“@”符号就没有什么特别的了?没有什么特别的了,至少在JSON方面没有。谢谢,也很有效,但会接受上面的有用链接。这个JSON是从XML创建的吗?因为E4X使用@attribute\u name
语法表示属性。
<searchResult count="0">
</searchResult>
$json_decoded = json_decode($json_var);
$count = $json_decoded->findItemsByKeywordsResponse[0]->searchResult[0]->{'@count'};