c# - 如何反序列化特定的 JSON 对象?
问题描述
我正在尝试序列化我认为是 .NET Core 2.2 应用程序中不寻常的 JSON 结构。
{
"id": "002a40a1-2e31-4663-a8d0-a4e6e2742d62",
"data": [
1,
[
"value",
false
]
]
}
尝试在 c# 中对数据属性进行建模时,我感到困惑
public class DataItem {
[JsonProperty("id")]
string id;
[JsonProperty("data")]
public object[] data;
}
我不知道如何在 C# 中正确建模此结构以允许 Newtonsoft 对其进行反序列化。
解决方案
由于它没有结构化格式,我建议您使用dynamic
. 或者如果您使用object[]
,您可以手动迭代每个对象并检查 if 条件内的对象类型。
或者,您可以使用IDictionary<string, JToken>
public class DataItem {
[JsonProperty("id")]
string id;
[JsonProperty("data")]
public Dictionary<string, JToken> data;
}
推荐阅读
- node.js - VSCode:Express pathing 打破了 ThreeJS 的 Intellisense
- java - 为什么 List#indexOf 在没有元素匹配时返回 -1...?
- scala - 导入下载的 github 项目(scala)时出错?
- r - 如何从 xgboost 模型的 sparse.model.matrix 中过滤掉特征
- traefik - 在给定路径上使用带有 Traefik 的 Web 服务器应用程序
- npm - 将第三方库导入 vue.js 上的特定页面
- c - 如果这个函数的结果是假的,是否有测试?(Unity C 单元测试)
- php - 如何在 PHP 中向多个收件人发送电子邮件
- php - 我正在尝试使用正则表达式在 Web url 中捕获数据
- python - 如何使用python连接到sqlite3数据库