c# - JSON.NET:如何从特定的 json 对象反序列化为具有不同名称的类
问题描述
这让我有点抓狂,因为我们没有时间要求 API 团队更改他们的响应对象名称。
我们有一个 json 结果,内容如下:
"seqRing": {
"admStatus": "disabled",
"status": null,
"lines": null
},
我需要将 json 反序列化映射到这个类:
public class SequentialRing
{
public string admStatus { get; set; }
public string status { get; set; }
public List<SeqLinesAttr> SeqLines { get; set; } = new List<SeqLinesAttr>();
}
如果这是属性名称不同的情况,我可以简单地使用属性顶部的 JsonPropertyAttribute,但我需要为类提供类似的东西。
如果有什么我可以使用的?请。
谢谢!
解决方案
您展示的 JSON 具有“seqRing”作为较大 JSON 对象的属性。为了反序列化,您可以创建一个包装类(或使用现有类),您可以在其中指定该类的 JSON 属性名称:
public class SequentialRingWrapper
{
[JsonProperty("seqRing")]
public SequentialRing SequentialRing { get; set; }
}
推荐阅读
- php - 每当我在 $_POST 上使用 php 变量作为索引时,即使索引存在,isset() 也不会返回 true
- linux - 如何在 Linux 中运行 Visual Studio 代码
- java - 如何在 Android 中使用 CheckBox 设置字符串
- google-cloud-platform - Stackdriver Trace 与 Google Cloud Run
- python - 熊猫:如何结合 nunique 和 sum
- db2 - 无法连接到 db2 中的远程数据库
- javascript - 如何从数据集中选择一组值以使用 D3.js 而不是整个数据集绘制折线图
- java - Comparator.comparing 没有推断出正确的输入类型
- javascript - 阿拉伯语不打印 Epson TM-T20II
- postgresql - 使用 pg dump 时遇到问题