Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将JSON字符串反序列化到.net对象嵌套(集合)字典中_C#_Json - Fatal编程技术网

C# 将JSON字符串反序列化到.net对象嵌套(集合)字典中

C# 将JSON字符串反序列化到.net对象嵌套(集合)字典中,c#,json,C#,Json,我可能是个白痴,但我已经看了一个小时了,我不知道该怎么做。我发现通过这类事情获得动力的最好方法是让它酝酿一段时间,同时发布一个堆栈溢出问题,以防其他人有同样的问题。 不管怎样,我有一个json对象,看起来像这样: [{ "wackyId": "wck1", "wackyType": "wck2", "wackyCnfdc": "wck3", "wckyArr": [{ "fieldName": "Full_Name", "fieldValue": "Some Text

我可能是个白痴,但我已经看了一个小时了,我不知道该怎么做。我发现通过这类事情获得动力的最好方法是让它酝酿一段时间,同时发布一个堆栈溢出问题,以防其他人有同样的问题。 不管怎样,我有一个json对象,看起来像这样:

 [{
 "wackyId": "wck1",
 "wackyType": "wck2",
 "wackyCnfdc": "wck3",
 "wckyArr": [{
    "fieldName": "Full_Name",
    "fieldValue": "Some Text here",
    "fieldConfidence": "0.3"
 }, {
    "fieldName": "Full_Name",
    "fieldValue": "Some Text here2",
    "fieldConfidence": "0.2"
 }, {
    "fieldName": "Full_Name",
    "fieldValue": "Some Text here3",
    "fieldConfidence": "0.3"
  }]
}]
我正在尝试将其转换为可使用的.net对象

这是我到目前为止所拥有的

public class WckyObj
{
  [JsonProperty("wackyId")]
  public string wackyId{get; set;}
  [JsonProperty("wackyType")]
  public string wackyType{get; set;}
  [JsonProperty("wackyCnfdc")]
  public string wackyCnfdc{get; set;}
  [JsonProperty("fields)]
  public List<multiFields> mutliFields {get; set;}
}

public class multiFields{
  [JsonProperty("fields")]
  public IEnumerable<IDictionary<string, string>> multiFields {get;set;}
}
公共类WckyObj
{
[JsonProperty(“古怪”)]
公共字符串古怪ID{get;set;}
[JsonProperty(“古怪类型”)]
公共字符串古怪类型{get;set;}
[JsonProperty(“古怪的CNFDC”)]
公共字符串wackyCnfdc{get;set;}
[JsonProperty(“字段)]
公共列表多字段{get;set;}
}
公共类多字段{
[JsonProperty(“字段”)]
公共IEnumerable多字段{get;set;}
}
现在我正在返回一个没有值的结果集???不确定我遗漏了什么。我可能已经盯着它看了很久了


编辑:好眼力海报。我本应该先通过json lint运行json,但我对自己的技能过于自信。更新后更为正确

如果您的字段名与json名称匹配,则不需要属性。此模型应与您的json匹配:

public class WckyObj
{
    public string wackyId {get; set;}
    public string wackyType {get; set;}
    public string wackyCnfdc {get; set;}
    public List<WckyArray> wckyArr {get; set;}
}

public class WckyArray
{
    public string fieldName {get; set;}
    public string fieldValue {get; set;}
    public string fieldConfidence {get; set;}
}
公共类WckyObj
{
公共字符串古怪ID{get;set;}
公共字符串古怪类型{get;set;}
公共字符串wackyCnfdc{get;set;}
公共列表wckyArr{get;set;}
}
公共类WckyArray
{
公共字符串字段名{get;set;}
公共字符串字段值{get;set;}
公共字符串字段置信度{get;set;}
}

现在,您应该能够通过
JsonConvert.DeserializeObject

反序列化JSON。首先,修复您的JSON使用一个在线JSON到C#站点,例如