REST混合JSON和XML?

时间:2015-05-06 10:28:17

标签: php xml json rest

我正在开发一个小型网络服务。到目前为止,我一直在用JSON做出回应。但我现在遇到的问题是我的Web服务所讨论的服务器响应XML,看起来像这样:

<obj somedata="h1" somedata2="h5" xmldata="<xm debug="yes"/></xm>"/>

xml数据属性包含XML。我本可以运行json_encode()(PHP)。但是json_encode似乎不想编码XML数据属性。

如果我的Web服务在这种情况下用xml响应而在其他情况下用JSON响应,这是不好的做法吗?当然,我会将Content-Type设置为application/xml,这也将记录在服务文档中。

但这不好吗?我是否应该尽我所能将其转换为JSON,因为我在其他API函数中使用JSON进行响应?

1 个答案:

答案 0 :(得分:3)

  

如果我的Web服务在这种情况下使用xml响应,这是不好的做法   和其他情况下的JSON?

是的,在某些情况下返回JSON和在其他情况下返回XML是一种可怕的做法。但你已经知道了。

更糟糕的是,&#34; XML&#34;你提到,

<obj somedata="h1" somedata2="h5" xmldata="<xm debug="yes"/></xm>"/>

根本不是XML,因为它不是well-formed :属性值不能包含原始XML;你的未转义:

  • 双引号字符("
  • 少于字符(<)。

推荐:拥有JSON界面或XML界面,或理想情况下

如果您不能同时使用两者,请使用JSON,除非:

  • 您的数据以文档为中心。
  • 有一个行业标准的XML架构来管理您的数据。
  • 您已经知道您的开发人员更喜欢XML。