2016-09-14 176 views
-1

我可能在这里是一个白痴,但我一直在看这个在过去的一个小时,我不能做如何做到这一点的正面或反面。我发现通过这些事情的最佳方式是让它炖一段时间,同时发布堆栈溢出问题,以防其他人有同样的问题。 任何方式,我有一个JSON对象,看起来像这样:将JSON字符串反序列化为.net对象嵌套(收集)字典

[{ 
"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;} 
} 

现在我目前回来的结果集没有值???不知道我错过了什么。我可能一直盯着它。

编辑:好眼海报。我应该先通过JSON皮棉运行我的json,但我对我的技能过分自信。更新为更正确

+3

首先反序列化JSON的,解决您的JSON –

+0

使用在线JSON到C#的网站,例如之一http://json2csharp.com/ –

+0

[将JSON对象反序列化到C#列表中](http://stackoverflow.com/questions/35481066/deserializing-json-object-into-c-sharp-list) –

回答

1

如果您的字段名称与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;} 
} 

现在,你应该能够通过JsonConvert.DeserializeObject<List<WckyObj>>

相关问题