【发布时间】:2020-07-27 09:07:09
【问题描述】:
这是我从服务收到的示例 JSON,我无法使用 C# 对其进行反序列化。
{
"columns": [
"empid",
"employeename",
"currentAllocation",
"Dept head",
"Manager",
"department",
"duration_s",
"count"
],
"data": [
[
1,
"Jane Doe",
"Production",
11,
"John Doe",
"Quality",
26638.0,
{
"columns": [
"start_timestamp",
"duration_s"
],
"data": [
[
1588351656.54799,
450.0
],
[
1588421798.54799,
1438.0
],
[
1589875223.54799,
597.0
]
]
}
],
[
1,
"Jane Doe",
"Production",
45,
"Peter Pan",
"Logistics",
33379.0,
{
"columns": [
"start_timestamp",
"duration_s"
],
"data": [
[
1588351656.54799,
450.0
],
[
1588421798.54799,
1438.0
],
[
1589875223.54799,
597.0
]
]
}
]
]
}
我在定义目标对象时遇到问题。特别是,我无法确定 data 节点的结构/格式。看起来应该是List<List<Tuple<string,string,string,string,string,string,Encounter>>>,其中Encounter 是具有两个属性的类:
public class Encounter
{
public List<string> column
public List<Tuple<string,string>> data
}
有人可以提出解决方案吗?
【问题讨论】:
-
您是否反序列化为对象?您很可能没有正确的目标对象。请提供有关目标对象的更多信息,以及如何尝试反序列化它。没有人可以帮助您提供的最少信息:)
-
您可以使用link 来了解对象以匹配您的目标对象
-
你需要使用的类不会特别好,因为在那个 json 中急切地使用列表而不是对象。您将拥有
List<List<double>>和List<List<object>>之类的东西,您仍然需要手动将它们分开。 -
但是,您需要显示您尝试使用的代码。如果您要问如何实际反序列化,答案是构造与该 JSON 结构相对应的类并使用
JsonConvert.DeserializeObject<TypeOfThatClass>(json),但如果您在声明类时遇到问题,则需要展示您所拥有的我们可以查明您的问题。另外,请描述您当前的问题是什么。 -
谢谢,我在确定目标对象时遇到问题。我无法确定数据节点的结构/格式。 List
- >> 其中遇到的是具有两个属性的类 public class Encounter { public list
} column public list >数据}
标签: c# json json.net deserialization json-deserialization