为了账号安全,请及时绑定邮箱和手机立即绑定

使用已知和未知字段反序列化json

使用已知和未知字段反序列化json

C#
万千封印 2019-09-03 15:49:54
给出以下json结果:默认的json结果有一组已知的字段:{    "id": "7908",    "name": "product name"}但可以用额外的字段(在此示例中被扩展_unknown_field_name_1和_unknown_field_name_2其中的请求结果,当名称不知道)。{    "id": "7908",    "name": "product name",    "_unknown_field_name_1": "some value",    "_unknown_field_name_2": "some value"}我希望将json结果序列化并反序列化为具有已知字段属性的类,并将未知字段(没有属性)映射到属性(或多个属性),如字典,这样它们就可以了访问和修改。public class Product{    public string id { get; set; }    public string name { get; set; }    public Dictionary<string, string> fields { get; set; }}我想我需要一种方法来插入一个json序列化器并自己为缺失的成员做映射(用于序列化和反序列化)。我一直在寻找各种可能性:json.net和自定义合约解析器(无法弄清楚如何做)datacontract序列化程序(只能覆盖序列化,序列化)序列化为动态并进行自定义映射(这可能有效,但似乎很多工作)让产品继承自DynamicObject(序列化程序使用反射,不调用trygetmember和trysetmember方法)我正在使用restsharp,但可以插入任何序列化程序。哦,我无法改变json的结果,这或者这对我也没有帮助。更新: 看起来更像它:http://geekswithblogs.net/DavidHoerster/archive/2011/07/26/json.net-custom-convertersndasha-quick-tour.aspx
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 399 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信