首页 / 问答 / C#&.NET/.NET 6 JSON.NET如何实现应用多个约定解释器呢?

C#&.NET/.NET 6 JSON.NET如何实现应用多个约定解释器呢?

.NET C# JSON 1.03K 次浏览
0

在C#的应用程序编程开发中,假设有如下的JSON对象:

[{"UnitPrice":0.0,"Name":"Apple","Amount":100.0},{"UnitPrice":2.99,"Name":"Orange","Amount":299.0}]

现在需要将这个JSON对象按照指定要求进行序列化:

  1. 将JSON字段名转换成snake命名,如:UnitPrice转换成unit_price
  2. 将JSON字段名按照字母顺序排序

期望得到的JSON序列化字符串如下:

[{"amount":100.0,"name":"Apple","unit_price":0.0},{"amount":299.0,"name":"Orange","unit_price":2.99}]
回复 [×]
提交评论
请输入评论内容

1 个回答

  • 0

    首先,JSON.NET本身并不支持同时指定多个约定解释器。
    在JSON.NET 9.0.1及更高的版本,我们可以在DefaultContractResolver的继承类的构造函数中指定JSON序列化的属性命名规则,然后再重写CreateProperties()方法来按照字母顺序排序,示例代码如下:

    运行结果:

    Rector的个人主页

    Rector

    2022-11-07 回答

    我来回答