• <i id='Z8yr2'><tr id='Z8yr2'><dt id='Z8yr2'><q id='Z8yr2'><span id='Z8yr2'><b id='Z8yr2'><form id='Z8yr2'><ins id='Z8yr2'></ins><ul id='Z8yr2'></ul><sub id='Z8yr2'></sub></form><legend id='Z8yr2'></legend><bdo id='Z8yr2'><pre id='Z8yr2'><center id='Z8yr2'></center></pre></bdo></b><th id='Z8yr2'></th></span></q></dt></tr></i><div id='Z8yr2'><tfoot id='Z8yr2'></tfoot><dl id='Z8yr2'><fieldset id='Z8yr2'></fieldset></dl></div>

    <legend id='Z8yr2'><style id='Z8yr2'><dir id='Z8yr2'><q id='Z8yr2'></q></dir></style></legend>

    <small id='Z8yr2'></small><noframes id='Z8yr2'>

        <tfoot id='Z8yr2'></tfoot>
        • <bdo id='Z8yr2'></bdo><ul id='Z8yr2'></ul>
      1. 分配给单个属性的多个 JsonProperty 名称

        时间:2023-08-24
        • <legend id='jSUkV'><style id='jSUkV'><dir id='jSUkV'><q id='jSUkV'></q></dir></style></legend><tfoot id='jSUkV'></tfoot>

          <small id='jSUkV'></small><noframes id='jSUkV'>

              <tbody id='jSUkV'></tbody>

              • <bdo id='jSUkV'></bdo><ul id='jSUkV'></ul>
                  <i id='jSUkV'><tr id='jSUkV'><dt id='jSUkV'><q id='jSUkV'><span id='jSUkV'><b id='jSUkV'><form id='jSUkV'><ins id='jSUkV'></ins><ul id='jSUkV'></ul><sub id='jSUkV'></sub></form><legend id='jSUkV'></legend><bdo id='jSUkV'><pre id='jSUkV'><center id='jSUkV'></center></pre></bdo></b><th id='jSUkV'></th></span></q></dt></tr></i><div id='jSUkV'><tfoot id='jSUkV'></tfoot><dl id='jSUkV'><fieldset id='jSUkV'></fieldset></dl></div>

                  本文介绍了分配给单个属性的多个 JsonProperty 名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  我有两种格式的 JSON,我想将它们反序列化为一个类.我知道我们不能将两个 [JsonProperty] 属性应用于一个属性.

                  I have two format of JSON which I want to Deserialize to one class. I know we can't apply two [JsonProperty] attribute to one property.

                  您能建议我实现这一目标的方法吗?

                  Can you please suggest me a way to achieve this?

                  string json1 = @"
                      {
                          'field1': '123456789012345',
                          'specifications': {
                              'name1': 'HFE'
                          }
                      }";
                  
                  string json2 = @"
                      {
                          'field1': '123456789012345',
                          'specifications': {
                              'name2': 'HFE'
                          }
                      }";
                  
                  public class Specifications
                  {
                      [JsonProperty("name1")]
                      public string CodeModel { get; set; }
                  }
                  
                  public class ClassToDeserialize
                  {
                      [JsonProperty("field1")]
                      public string Vin { get; set; }
                  
                      [JsonProperty("specification")]
                      public Specifications Specifications { get; set; }        
                  }
                  

                  我希望 name1name2 都反序列化为规范类的 name1 属性.

                  I want name1 and name2 both to be deserialize to name1 property of specification class.

                  推荐答案

                  一个不需要转换器的简单解决方案:只需向您的类添加第二个私有属性,用 [JsonProperty("name2")],并让它设置第一个属性:

                  A simple solution which does not require a converter: just add a second, private property to your class, mark it with [JsonProperty("name2")], and have it set the first property:

                  public class Specifications
                  {
                      [JsonProperty("name1")]
                      public string CodeModel { get; set; }
                  
                      [JsonProperty("name2")]
                      private string CodeModel2 { set { CodeModel = value; } }
                  }
                  

                  小提琴:https://dotnetfiddle.net/z3KJj5

                  这篇关于分配给单个属性的多个 JsonProperty 名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:序列化字典时保留大小写 下一篇:序列化特定类型时如何使 JSON.Net 序列化程序调用

                  相关文章

                  最新文章

                    <bdo id='xz44e'></bdo><ul id='xz44e'></ul>

                  <i id='xz44e'><tr id='xz44e'><dt id='xz44e'><q id='xz44e'><span id='xz44e'><b id='xz44e'><form id='xz44e'><ins id='xz44e'></ins><ul id='xz44e'></ul><sub id='xz44e'></sub></form><legend id='xz44e'></legend><bdo id='xz44e'><pre id='xz44e'><center id='xz44e'></center></pre></bdo></b><th id='xz44e'></th></span></q></dt></tr></i><div id='xz44e'><tfoot id='xz44e'></tfoot><dl id='xz44e'><fieldset id='xz44e'></fieldset></dl></div>
                  <tfoot id='xz44e'></tfoot>
                1. <small id='xz44e'></small><noframes id='xz44e'>

                  1. <legend id='xz44e'><style id='xz44e'><dir id='xz44e'><q id='xz44e'></q></dir></style></legend>