检测json中添加或删除的元素

时间:2012-06-22 08:42:39

标签: c# json json.net

我已经为Json反序列化创建了类,但我想获取在json中删除或添加的元素,这不在我的类中。我怎么能这样做我的意思是想要最好的方式。

我从Facebook获取用户个人资料并反序列化如果facebook添加或删除任何元素,那么我该怎么做到这一点。我正在使用Json.net

让我们用例子来理解

之前

示例Json

{
       "Name":"Rahul",
       "isverified" : true
}

我创建了c#class

public class Profile
{
        public string Name { get; set; }
        public bool isverified { get; set; }
}

之后

示例Json

{
       "Name":"Rahul",
       "isverified" : true,
       "emailid": "xyx@example.com"
}

现在我可以检测到emailid被添加到json

1 个答案:

答案 0 :(得分:0)

您希望在更新属性时从Facebook接收回调。这与JSON无关,但Facebook提供realtime updates API,允许您订阅某些数据以在更改时接收通知。这是Graph API的一部分。

根据链接,设置它需要两个步骤:

  
      
  1. 设置一个端点URL,该URL接收来自Facebook的HTTP GET(用于订阅验证)和POST(用于实际更改数据)请求。
  2.   
  3. 对图表API网址https://graph.facebook.com/ /订阅进行POST订阅,并准备好处理验证请求。
  4.   

您可以订阅与用户权限相关的属性更改(如用户已授予您的应用程序的权限)和页面已安装您的应用程序。

修改

如果您只想在运行时添加属性,可以使用IDictionary或ExpandoObject

var Profile = new ExpandoObject();
Profile.Name = "Rahul";
Profile.emailid = "xyz@example.com";
Profile.foo = "bar";