'@'在JSON中意味着什么?

时间:2012-03-15 09:54:46

标签: javascript xml json

我正在使用以下库

https://github.com/Leonidas-from-XIV/node-xml2js

将XML转换为JSON。转换后,console.log产生以下内容

{ '@':
   { RaceDayDate: '2012-03-15T00:00:00',
     Year: '2012',
     Month: '3',
     Day: '15',
     DayOfTheWeek: 'Thursday',
     MonthLong: 'March',
     IsCurrentDay: '1',
     IsPresaleMeeting: '0',
     ServerTime: '2012-03-15T19:48:47.840' },
  PresaleRaceDate: [ { '@': [Object] }, { '@': [Object] }, { '@': [Object] } ],
  Meeting:
   [ { '@': [Object], Pool: [Object], Race: [Object] },
     { '@': [Object], Pool: [Object], Race: [Object] },
     { '@': [Object], Pool: [Object], Race: [Object] },

@是什么意思并假设数据存储在名为'result'的变量中,访问RaceDayDate,Year,Month等的语法是什么?结果。@不起作用

5 个答案:

答案 0 :(得分:10)

'@'只是一个像其他任何字符串一样的字符串。在JavaScript中,您可以使用

访问它
result['@']

另请注意,输入无效JSON,因为它缺少许多字典键和Object的引号,使用单引号而不是双引号,并以逗号结尾。

答案 1 :(得分:1)

尝试result['@'].RaceDayDate

答案 2 :(得分:0)

它对JSON没有特殊意义。

此特定数据将其用作键字符串。你必须知道数据的含义才能找出原因。

答案 3 :(得分:0)

我不确定这是否与此示例相关,但我目前正在与允许您传递xml或json的API集成;在json消息中,作为该消息的xml版本中的属性存储的任何字段都以' @'为前缀。 character - 我认为这是因为json被转换为xml进行处理,并且它们使用的任何工具都使用@来区分元素和属性。

答案 4 :(得分:0)

正如上面提到的“ Clarkeye”,我为某些标签添加了一个带有“ @”前缀的标签(下面给出了示例数据)。这些是该消息的xml版本中的属性。我怀疑转换工具会添加此前缀。 json样本数据

{
  "@context": "\/v1\/contexts\/Book",
  "@type": "Recipe",
  "id": "12136",
  "note": [
    {
      "@id": "\/v1\/terms\/331",
      "@type": "SQL",
      "id": 331,
      "display": "SQL",
      "taxonomy": "post_tag"
    }
  ]