使用可变数量的元素反序列化JSON字符串

时间:2013-08-02 17:51:08

标签: c# asp.net json

我通过Javascript接收第三方API JSON响应,我将AJAX发送到服务器。在这里,我试图将其转换为一个对象。我在网上看到了一个使用自定义类的简单示例,但在我的情况下,问题是字段的数量可以改变。在一个案例中,他们可能只是:UserName:Blah,Age:Blah ......在另一种情况下,它可能是:UserName:Blah,Age:Blah,Favorite game:Blah。

这里最好的解决方案是什么?

感谢您的任何意见。

PS:我正在尝试下面的代码,但是我收到错误:不支持对数组进行反序列化的朋友。

public class Friends 
{
    public IList<IDictionary<string,string>>data {get;set;}
}

protected void UpdateTrigger_Click(object sender, EventArgs e)
{
    Friends fbFriends = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<Friends>(Hidden1.Value);
}

1 个答案:

答案 0 :(得分:3)

使用Json.NET - 您可以反序列化为公开所有属性的自定义.NET对象,并if (thing.Property != null)获取特定值,或者您可以反序列化为dynamic