【发布时间】:2011-05-11 07:00:04
【问题描述】:
我们正在将 JSON 输出添加到输出 XML 的现有 API,以使 MobileHTML 集成更加容易。但是,我们的开发人员已经询问了 JSON 输出中出现的 @attributes 的使用情况。
我们的原始 XML 如下所示:
<markers>
<marker id="11906" latitude="52.226578"
...
所以 JSON 输出如下:
callbackname({"marker":[{"@attributes":{"id":"11906","latitude":"52.226578"
....
我们的开发者声明:
“虽然'@attributes'是合法的JSON,但它似乎打破了点符号,所以我不能调用data.@attributes。我可以调用data['@attributes'],所以有一个解决方法,但似乎避免使用@-符号更安全,除非有充分的理由。”
XML->JSON(P) 转换使用:
$xmlObject = simplexml_load_string ($data);
$data = json_encode ($xmlObject);
我想让我们的 API 尽可能易于集成,因此尽可能使用标准的东西。但是我们使用的是原生的 PHP json_encode 函数,所以如果它在做一些非标准的事情,我会感到惊讶。
@attributes 的使用是非标准的吗?这基本上只是我们的API在使用<marker id..>而不是<marker><id>方面有点坏的问题吗?
【问题讨论】:
标签: json attributes jsonp