c# - 如何序列化\反序列化属性名称依赖于数据的属性

标签 c# .net json serialization json.net

我正在尝试反序列化以下 json(见下文)(使用 newtonsoft json 序列化程序),问题是名为“2010-12”的变量显然取决于返回的数据 - 它代表一个月和下一个月份值将更改为“2010-01”。

关于我如何在后续类(class)中处理这个问题有什么想法吗?

[JsonObject(MemberSerialization.OptIn)]
public class Crimes
{
   [JsonProperty()]
   public Month Month { get; set; }
}

示例 JSON 实例:

{
    "commentary": null,
    "crimes": {
        "2010-12": {
            "anti-social-behaviour": {
                "crime_rate": "0.46",
                "crime_level": "average",
                "total_crimes": 74
            },
            "other-crime": {
                "crime_rate": "0.35",
                "crime_level": "average",
                "total_crimes": 56
            },
            "all-crime": {
                "crime_rate": "1.12",
                "crime_level": "average",
                "total_crimes": 180
            },
            "robbery": {
                "crime_rate": "0.02",
                "crime_level": "above_average",
                "total_crimes": 3
            },
            "burglary": {
                "crime_rate": "0.14",
                "crime_level": "above_average",
                "total_crimes": 22
            },
            "vehicle-crime": {
                "crime_rate": "0.04",
                "crime_level": "average",
                "total_crimes": 7
            },
            "violent-crime": {
                "crime_rate": "0.11",
                "crime_level": "average",
                "total_crimes": 18
            }
        }
    }
}

最佳答案

我不熟悉 Newtonsoft 的反序列化器,但一般来说,我认为要做的事情是将 crimes 属性反序列化为带有字符串或 DateTime 键的字典。抱歉,我无法确切地告诉您如何在 Newtonsoft 中执行此操作,但请尝试研究一下。

关于c# - 如何序列化\反序列化属性名称依赖于数据的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5079825/

相关文章:

c# - 关于 IEnumerable 和 IEnumerator 的问题

.net - 无法在运行时向 XML 添加命名空间

iOS Cocoa NSArrayI 长度] : unrecognized selector sent to instance

c# - 在 IDisposable 类层次结构中正确处理 ObjectDisposedException

c# - 使用覆盖调用基类方法 *WITHOUT*

c# - group by 与 group join 生成的查询

c# - 数据表到数据集xsd?

json - 在 MongodB JSON 样式的文档中存储 HTML 的好策略是什么

java - 如何编写 Controller 类以允许内容类型 : application/json and application/x-www-form-urlencoded

C# IDisposable 使用 : Best Practice