【问题标题】:Deserialize json object list with newton in c#在c#中用newton反序列化json对象列表
【发布时间】:2016-07-21 18:23:55
【问题描述】:

我有一个 json 字符串,我正在尝试使用 Newton 将其反序列化为对象列表。但它给了

错误无法反序列化当前的 JSON 对象(例如 {"name":"value"}) 转换为类型 'System.Collections.Generic.List

json字符串的格式是。

 [ { "key": "1", "value": "Package1" }, { "key": "some name", "value": "Package2" } ]

模型定义为

public class RootObject
{
    public string key { get; set; }
    public string value { get; set; }
}

并且我使用下面的方法来反序列化它,其中json是上面列出的字符串。

var resultList = JsonConvert.DeserializeObject<List<RootObject>>(json);

我不确定我在哪里出错了,任何帮助将不胜感激。

【问题讨论】:

  • 您确定这是您传递给反序列化方法的 json 文本吗?因为它对我来说应该完全没问题。你能把json对象输出到控制台并粘贴到这里吗?
  • 你是否转义了引号? var jsonData = "[ { \"key\": \"1\", \"value\": \"Package1\" }, { \"key\": \"some name\", \"value\": \"Package2\" } ]";
  • 你所拥有的似乎在小提琴中工作正常:dotnetfiddle.net/CvKGau
  • 感谢大家的帮助,Petre Turuc 就是问题所在。一旦我逃脱了报价,它就起作用了!

标签: c# .net json json.net


【解决方案1】:

尝试使用 IDictionary 而不是 List。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多