我可能在这里是一个白痴,但我现在一直在看这个问题,我不知道如何做到这一点。我发现通过这些方式提供动力的最佳方法是让它炖一段时间,同时发布一个堆栈溢出问题以防其他人有同样的问题。 无论如何,我有一个看起来像这样的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;}
}
现在我正在返回没有值的结果集???不确定我错过了什么。我可能已经长时间盯着它了。
编辑:好眼睛海报。我应该首先通过JSON lint运行我的json,但我对我的技能过于自信。更新为更正确
答案 0 :(得分: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>>