0

我的 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
}

我正在尝试将上述确切字符串反序列化为一个对象:

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; }
}

我正在尝试这段代码:

OpenCalaisResult myObject = (OpenCalaisResult)JsonConvert.DeserializeObject(myString, typeof(OpenCalaisResult), settings);

我得到一个例外:

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

知道我做错了什么吗?

4

2 回答 2

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
   }
  }
于 2013-05-02T15:33:14.880 回答
0

http://www.json.org/

显示对象的形式...

{ ... }

你的 JSON 的形式是......

X : { ... }

我猜'x'是被[反]序列化的类的类型......我不相信你的图书馆支持它。

JSON 支持有点随机。

于 2013-05-02T15:25:36.693 回答