【发布时间】:2019-06-07 07:01:10
【问题描述】:
所以我有以下任务 - 我需要反序列化存储在我的应用程序的资源文件夹中的 Jason 对象数组。
到目前为止,我已经访问了资源并将其存储到一个 var 中:
var jsonData = Resources.SamplePoints;
将数组转换为字符串:
string jsonObjts = Encoding.Default.GetString(jsonData);
并已尝试将结果写入字典列表
List<Dictionary<string, double>> EntityData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, double>>>(jsonObjts);
但是,当我运行和测试应用程序时,会出现上述错误消息。
谁能让我走上正确的道路如何解决这个问题?
相关对象的样本:
"samples": [
{
"date": "2014-08-10T09:00:00Z",
"temperature": 10,
"pH": 4,
"phosphate": 4,
"chloride": 4,
"nitrate": 10
},
{
"date": "2014-08-12T09:05:00Z",
"temperature": 10.5,
"pH": 5,
"chloride": 4,
"phosphate": 4
},
【问题讨论】:
-
确保您的
Deserialization对象有一个名为samples的属性,它属于IEnumerable类型。或者您最好发布用于deserialization的对象。 -
可能,“日期”:“2014-08-12T09:05:00Z”是个问题。尝试 List
> 或 List > 并通过 double.Parse 重新解析数字。 -
并在使用 JSON.NET 之前阅读此内容newtonsoft.com/json/help/html/SerializingCollections.htm
-
您可以从这里json2csharp.com根据JSON响应生成C#对象
标签: c# json deserialization