C# &引用;无法将当前JSON对象反序列化为类型

C# &引用;无法将当前JSON对象反序列化为类型,c#,json,deserialization,C#,Json,Deserialization,因此,我有以下任务-我需要反序列化存储在我的应用程序的追索权文件夹中的Jason对象数组 到目前为止,我已经访问了追索权并将其存储到var中: var jsonData=Resources.SamplePoints 已将数组转换为字符串: string jsonObjts=Encoding.Default.GetString(jsonData) 并尝试将结果写入字典列表 List EntityData=Newtonsoft.Json.JsonConvert.DeserializeObject(j

因此,我有以下任务-我需要反序列化存储在我的应用程序的追索权文件夹中的Jason对象数组

到目前为止,我已经访问了追索权并将其存储到var中:

var jsonData=Resources.SamplePoints

已将数组转换为字符串:

string jsonObjts=Encoding.Default.GetString(jsonData)

并尝试将结果写入字典列表

List EntityData=Newtonsoft.Json.JsonConvert.DeserializeObject(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
},

您不想创建一个类来表示JSON有什么原因吗

public class Rootobject
{
    public List<Sample> Samples { get; set; }
}

public class Sample
{
    public DateTime Date { get; set; }
    public float Temperature { get; set; }
    public int Ph { get; set; }
    public int Phosphate { get; set; }
    public int Chloride { get; set; }
    public int Nitrate { get; set; }
}
公共类根对象
{
公共列表样本{get;set;}
}
公共类样本
{
公共日期时间日期{get;set;}
公共浮子温度{get;set;}
公共整数Ph{get;set;}
公共整数{get;set;}
公共整数{get;set;}
公共int{get;set;}
}
然后可以反序列化:

var obj = JsonConvert.DeserializeObject<Rootobject>(json);
var obj=JsonConvert.DeserializeObject(json);
如果你还想用字典,我想你需要这样的东西:

var obj = JsonConvert.DeserializeObject<Dictionary<string, List<Dictionary<string, object>>>>(json);
var obj=JsonConvert.DeserializeObject(json);

您在泛型类型
列表中的架构与json的架构不匹配。如果要强制转换到
列表,请确保
反序列化
对象具有名为
samples
的属性,该属性属于
IEnumerable
类型。或者您最好发布用于反序列化的对象。可能,“日期”:“2014-08-12T09:05:00Z”是个问题。请尝试按double.Parse列出或列出并重新分析数字。在使用JSON.NET之前,请阅读此内容。您可以从这里基于JSON响应生成C#对象。谢谢,这两种情况都适用。我将使用一个类来表示Jason对象