0

我正在关注这个 JSON 反序列化示例: 使用 C#反序列化 JSON

但我遇到了一个问题。我的 json 文件具有不同的结构。

"data": [
  {
     "id": "157156474316544_575441765821344",
     "from": {
        "name": "Testy McTest",
        "id": "624161969"
     },
     "message": "I am a message"...

所以当我实例化序列化器时:

FacebookFeed facebookPosts = new JavaScriptSerializer().Deserialize<FacebookFeed>(jsonFromWeb);

我收到错误“没有为 'System.String' 类型定义无参数构造函数。”

如果有人知道如何解决这个问题,我将不胜感激。

我的结构是:

public class FacebookFeed
{
public List<FacebookPost> data { get; set; }
}

public class FacebookPost 
{
public string id        { get; set; }
public string from      { get; set; }
public string message   { get; set; }
}
4

2 回答 2

3

问题是这from是一个复杂的(它有几个用户属性/属性 - id、名称)对象,但您已将其声明为纯字符串。尝试类似:

public class Sender
{
public string id {get;set;}
public string name {get;set;}
}

public class FacebookPost 
{
public string id        { get; set; }
public Sender from      { get; set; }
public string message   { get; set; }
}
于 2013-05-13T15:00:18.450 回答
0

'from' 是一个对象,而不是一个字符串。因此,您会收到错误“没有为 'System.String' 类型定义的无参数构造函数。”

于 2013-05-13T15:02:09.720 回答