JSON.NET不会反序列化到我的对象中,抛出异常

Nib*_*Pig 0 c# json.net

我的JSON(myString)看起来像这样:

"http://d.opencalais.com/dochash-1/0701d73f-2f99-39e1-8c29-e61ee8bf3238/cat/1":
{
  "_typeGroup": "topics",
  "category": "http://d.opencalais.com/cat/Calais/Law_Crime",
  "classifierName": "Calais",
  "categoryName": "Law_Crime",
  "score": 0.869
}
Run Code Online (Sandbox Code Playgroud)

我试图将上面的确切字符串反序列化为一个对象:

public class OpenCalaisResult
{
    public string _typeGroup {get; set; }
    public string category { get; set; }
    public string categoryName { get; set; }
    public string classifierName { get; set; }
    public decimal score { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试这段代码:

OpenCalaisResult myObject = (OpenCalaisResult)JsonConvert.DeserializeObject(myString, typeof(OpenCalaisResult), settings);
Run Code Online (Sandbox Code Playgroud)

我得到一个例外:

{"将值转换为错误" http://d.opencalais.com/dochash-1/0701d73f-2f99-39e1-8c29-e61ee8bf3238/cat/1 \"键入'MyApp.Parsers.JsonTypes.OpenCalaisResult'.Path' ',第1行,第78位."}

知道我做错了什么吗?

Sha*_*ood 5

你的json应该是这样的

 {
 "http://d.opencalais.com/dochash-1/0701d73f-2f99-39e1-8c29-e61ee8bf3238/cat/1":
  {
    "_typeGroup": "topics",
    "category": "http://d.opencalais.com/cat/Calais/Law_Crime",
    "classifierName": "Calais",
    "categoryName": "Law_Crime",
    "score": 0.869
   }
  }
Run Code Online (Sandbox Code Playgroud)