c# - 名称中带有点的可变数量的 JSON 属性
问题描述
我从网上遇到了一些特殊格式的 JSON 语法。基本上,我们得到名称中带有点的可变数量的属性。以下是两个明显的案例:
case 1:
"data" {
"SET.Key.count":"0",
"SET.Value.count":"0",
...
}
case 2:
"data" {
"SET.Key.0":"Key 1",
"SET.Key.1":"Key 2",
"SET.Key.2":"Key 3",
"SET.Key.3":"Key 4",
"SET.Key.count":"4",
"SET.Value.0":"10",
"SET.Value.1":"20",
"SET.Value.2":"30",
"SET.Value.3":"40",
"SET.Value.count":"4",
...
}
其中计数 4 是任意数字。它们可以是任何东西,但键数和值数应该相同。“...” 表示更多属性,但在这篇文章中可以忽略它们。
我使用 Newtonsoft.Json 和 C# 反序列化 JSON 流。但我不必和 Newtonsoft.Json 呆在一起。如何将其反序列化为对象列表(键和值)。任何处理这种 JSON 属性的建议将不胜感激。
解决方案
利用JsonPropertyAttribute
[JsonProperty(PropertyName = "user.isSystem")]
public int IsSystem { get; set; }
[JsonProperty(PropertyName = "0")]
public int ZeroField{ get; set; }
推荐阅读
- python - Python中的相对文件路径
- python - 单击“计算”按钮后,我的程序立即冻结 Python Tkinter
- acumatica - Acumatica - Outlook 插件回复操作
- python - 如何使用 python 在 google adwords 选择器中正确指定自定义日期范围?
- c - x ^= x & -x; 其中 x 是无符号整数调用 UB?
- list - 如何从给定的一组值生成map的随机值,然后将键和值存储到scala中的单独变量中
- php - 每三个帖子创建一行
- qt - 警告:QObject::startTimer:定时器只能用于以 QThread 启动的线程
- uwp - 如何捕获旋转的图像进行流式传输?
- math - Kaggle 数据集 - 字母和数字的含义