问题描述
我的 JSON 看起来像:
[
{
"Key": {
"PatientName": "Hans Gerd","Alter": 81,"Geschlecht": "M","Zimmernummer": 1,"PatientenLiegeplatz": 0,"IsDummyData": false
},"Value": {
"Puls": 0,"Temperatur": 0.0,"Systole": 0,"Diastole": 0,"DictationText": "","Timestamp": "2021.05.24 12:31:06"
}
}
]
序列化:
string json = JsonConvert.SerializeObject(saveObj.CareRoutineDataDictionary.ToArray(),Formatting.Indented);
如何反序列化它?我已经尝试了很多,但它不起作用。 常见错误信息:
解析值时遇到意外字符
如果我尝试这样做:
Dictionary<BasicPatientData,CareRoutineData> data = JsonConvert.DeserializeObject<Dictionary<BasicPatientData,CareRoutineData>>(File.ReadAllText(SaveFilePath));
JsonSerializationException:无法将当前 JSON 数组(例如 [1,2,3])反序列化为类型 'System.Collections.Generic.Dictionary`2[BasicPatientData,CareRoutineData]' 因为该类型需要一个 JSON 对象(例如 {"name":"value"})来 正确反序列化。要修复此错误,请将 JSON 更改为 JSON 对象(例如 {"name":"value"})或将反序列化类型更改为 实现集合接口的数组或类型(例如 ICollection,IList) 像可以从 JSON 反序列化的 List 大批。也可以将 JsonArrayAttribute 添加到类型中以强制它 从 JSON 数组反序列化。
有人可以帮忙吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)