我从移动应用程序调用.NET Web服务(WCF,我认为,我不是.NET专家)来获取JSON响应,我想重新排序这些字段。是的,我知道JSON的规范(在某种程度上有这样的事情)说它不支持订购。在尝试更新客户端应用程序以对数据进行排序之前,我正试图找到一种从Web服务订购响应字符串的方法。
我发现了这个:https://msdn.microsoft.com/en-us/library/ms729813.aspx
但在每个字段上使用[DataMember(Order = 0)]
(当然使用不同的排序值)对响应中的字段顺序没有影响。此属性仅适用于XML响应吗?
答案 0 :(得分:1)
JSON属性的顺序通常无关紧要,因为JSON几乎总是反序列化为对象。一旦发生这种情况,属性的原始“顺序”就变得毫无意义。
解决这个问题的唯一方法是构建自己的JSON解析器。这样做非常复杂,如果你要走得那么远,那么切换到一种实际上具有“顺序”感的技术(例如XML)几乎肯定会更容易。我想你会发现对其他技术(XML)的订购支持要好得多。
不幸的是,这意味着您可能需要更改您的客户端应用程序。