我是Json.NET的初学者。我已经非常擅长使用JsonConvert对典型对象进行序列化和反序列化,但不仅如此。所以这可能是一个愚蠢的问题。
我的程序从REST服务器接收JSON模式。我使用此模式生成用户可以填写数据的UI。然后我需要打包用户数据并将其发送回REST服务器。此数据必须与原始架构匹配。我还没弄清楚如何将我的数据序列化为一种格式,这种格式被我最初收到的模式视为有效。
提前致谢,如果这是一个愚蠢的问题,请道歉。
更新:
模式可能随时发生变化,我需要能够动态处理,因此具体的类实现是不可能的。
答案 0 :(得分:1)
经过更多的挖掘和与运行REST服务器的人交谈之后,显然我正在以这种方式变得更加困难。
最后,我需要的只是键/值对的字典,键是属性名称,值是模式中指定类型的某些数据。幸运的是,Json.NET完美地将它们转换为JSON。
答案 1 :(得分:0)
如果架构可能会发生变化,并且您不想每次都修改该类并编译代码,则可以使用dynamic/ExpandoObject。
序列化示例:
dynamic foo = new ExpandoObject();
foo.Bar = "something";
string json = Newtonsoft.Json.JsonConvert.SerializeObject(foo);
反序列化示例:
dynamic foo = JObject.Parse(jsonText);
string bar = foo.Bar; // bar = "something"