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

C# 检测json中添加或删除的元素,c#,json,json.net,C#,Json,Json.net,我已经创建了用于Json反序列化的类,但我想获取Json中删除或添加的元素,而这些元素不在我的类中。我怎样才能做到这一点,我的意思是想以最好的方式 我正在从Facebook获取用户配置文件并反序列化,如果Facebook添加或删除任何元素,那么我如何才能获得此信息。我正在使用Json.net 让我们用例子来理解 之前 示例Json { "Name":"Rahul", "isverified" : true } { "Name":"Rahul",

我已经创建了用于Json反序列化的类,但我想获取Json中删除或添加的元素,而这些元素不在我的类中。我怎样才能做到这一点,我的意思是想以最好的方式

我正在从Facebook获取用户配置文件并反序列化,如果Facebook添加或删除任何元素,那么我如何才能获得此信息。我正在使用Json.net

让我们用例子来理解

之前

示例Json

{
       "Name":"Rahul",
       "isverified" : true
}
{
       "Name":"Rahul",
       "isverified" : true,
       "emailid": "xyx@example.com"
}
我创建了c#class

之后

示例Json

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

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

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

对于每个链接,设置此链接需要两个步骤:

  • 设置一个端点URL,从Facebook接收HTTP GET(用于订阅验证)和POST(用于实际更改数据)请求
  • 发布到graph API url/订阅以订阅,并准备好处理验证请求
  • 您可以订阅与用户、权限(如用户授予应用程序的权限)和已安装应用程序的页面相关的属性更改

    编辑

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


    @GovindKamalaPrakashMalviya我更新了我的答案。这就是你的意思吗?你的代码没有编译我在控制台应用程序-->命名空间MyTestProject{使用System.Dynamic;使用System;类程序{public static void Main(){var Profile=new ExpandoObject();Profile.Name=“Rahul”;Profile.emailid="xyz@example.com“Profile.foo=“bar”Console.Write(Profile.Name);}@GovindKamalaPrakashMalviya我不确定。你能检查一下你在项目属性中使用的是哪个框架版本吗?确保它是4.0,而不是客户端配置文件。我正是在使用4.0,我认为你需要使用dynamic。无论如何,它并不能解决我的问题,因为我使用的是旧类,并且希望根据类检测json中的更改。