将基础 class 属性 设置为首先出现在 json 网络 api 输出中 2
set base class property to appear first in json output for web api 2
我有一个 BaseDTO c# class,它只有一个 属性 类型的布尔值,名为 Success
然后我有一个派生的 class,它有一些额外的属性。
当派生的 class 在网络 JSON 中输出 api 时,成功 属性 出现在底部。
我希望它先出现。
我可以在 属性 上设置任何属性来允许这样做吗?
谢谢
无论顺序如何:
An object is an unordered set of name/value pairs.
- http://json.org/
如果您需要对属性进行排序,那么您将不再处理 true JSON 并且不能指望现有的库能够开箱即用地满足此要求。
话虽如此,JSON.NET 允许您实现 IContractResolver
,您可以创建它来搜索自定义属性并支持它。可以在 this Stack Overflow answer.
中找到更多详细信息
实际上 this answer on the same question 显示了一个现有的属性,您可以使用它来代替上面的属性。
我有一个 BaseDTO c# class,它只有一个 属性 类型的布尔值,名为 Success
然后我有一个派生的 class,它有一些额外的属性。
当派生的 class 在网络 JSON 中输出 api 时,成功 属性 出现在底部。
我希望它先出现。
我可以在 属性 上设置任何属性来允许这样做吗?
谢谢
无论顺序如何:
An object is an unordered set of name/value pairs.
- http://json.org/
如果您需要对属性进行排序,那么您将不再处理 true JSON 并且不能指望现有的库能够开箱即用地满足此要求。
话虽如此,JSON.NET 允许您实现 IContractResolver
,您可以创建它来搜索自定义属性并支持它。可以在 this Stack Overflow answer.
实际上 this answer on the same question 显示了一个现有的属性,您可以使用它来代替上面的属性。