久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

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

        <tfoot id='lbSxY'></tfoot>

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

        • <bdo id='lbSxY'></bdo><ul id='lbSxY'></ul>
      2. <i id='lbSxY'><tr id='lbSxY'><dt id='lbSxY'><q id='lbSxY'><span id='lbSxY'><b id='lbSxY'><form id='lbSxY'><ins id='lbSxY'></ins><ul id='lbSxY'></ul><sub id='lbSxY'></sub></form><legend id='lbSxY'></legend><bdo id='lbSxY'><pre id='lbSxY'><center id='lbSxY'></center></pre></bdo></b><th id='lbSxY'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='lbSxY'><tfoot id='lbSxY'></tfoot><dl id='lbSxY'><fieldset id='lbSxY'></fieldset></dl></div>

        使用 json.net 在序列化期間合并兩個對象?

        Merge two objects during serialization using json.net?(使用 json.net 在序列化期間合并兩個對象?)
          <tfoot id='vo8l6'></tfoot>

              <legend id='vo8l6'><style id='vo8l6'><dir id='vo8l6'><q id='vo8l6'></q></dir></style></legend>
                <i id='vo8l6'><tr id='vo8l6'><dt id='vo8l6'><q id='vo8l6'><span id='vo8l6'><b id='vo8l6'><form id='vo8l6'><ins id='vo8l6'></ins><ul id='vo8l6'></ul><sub id='vo8l6'></sub></form><legend id='vo8l6'></legend><bdo id='vo8l6'><pre id='vo8l6'><center id='vo8l6'></center></pre></bdo></b><th id='vo8l6'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='vo8l6'><tfoot id='vo8l6'></tfoot><dl id='vo8l6'><fieldset id='vo8l6'></fieldset></dl></div>

                  <tbody id='vo8l6'></tbody>

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

                • <bdo id='vo8l6'></bdo><ul id='vo8l6'></ul>
                • 本文介紹了使用 json.net 在序列化期間合并兩個對象?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我遇到了以下情況,有人可以幫我實現以下目標嗎?

                  I met a situation as below could anybody help me achieve as below?

                  例如,如果我有課程:-

                  For Example, if I have the class:-

                  public class Sample
                  {
                      public String name {get;set;}
                      public MyClass myclass {get;set;}
                  }
                  

                  我的 Myclass 如下:

                  public class MyClass
                  {
                      public String p1 {get;set;}
                      public String p2 {get;set;}
                  }
                  

                  當我使用 Json.net 對 Sample 類的對象進行序列化時,得到如下結果,效果很好.

                  When I am using Json.net to Serialize the object of the class Sample,I got as below and it works well.

                  {
                   "name":"...",
                   "myclass":
                            {
                              "p1":"...",
                              "p2":"..."
                             }
                   }
                  

                  它是正確的,但我想知道是否有可能得到如下的 json 字符串?

                  Its correct but I wonder is it possible to get the json string as below?

                  {
                   "name":"...",
                   "p1":"...",
                   "p2":"..."
                  }
                  

                  推薦答案

                  你可以創建匿名對象并序列化它:

                  You can create anonymous object and serialize it:

                  var sample = new Sample { 
                      name = "Bob", 
                      myclass = new MyClass { 
                                  p1 = "x", 
                                  p2 = "y" 
                                }};
                  
                  string json = JsonConvert.SerializeObject(new { 
                                   sample.name, 
                                   sample.myclass.p1, 
                                   sample.myclass.p2 
                                });
                  

                  結果

                  {"name":"Bob","p1":"x","p2":"y"}
                  

                  但我建議您使用 Sample 類的默認序列化,或創建將序列化為您的格式的類(即將 MyClass 屬性移動到 Sample).

                  But I suggest you either use default serialization of your Sample class, or create class which will be serialized into your format (i.e. move MyClass properties into Sample).

                  更新:您可以使用自定義轉換器,它將對象展平并將所有內部對象屬性序列化為頂級對象屬性:

                  UPDATE: You can use custom converter, which flattens object and serializes all inner objects properties as top level object properties:

                  public class FlattenJsonConverter : JsonConverter
                  {
                      public override void WriteJson(JsonWriter writer, object value, 
                          JsonSerializer serializer)
                      {
                          JToken t = JToken.FromObject(value);
                          if (t.Type != JTokenType.Object)
                          {
                              t.WriteTo(writer);
                              return;
                          }
                  
                          JObject o = (JObject)t;
                          writer.WriteStartObject();
                          WriteJson(writer, o);
                          writer.WriteEndObject();
                      }
                  
                      private void WriteJson(JsonWriter writer, JObject value)
                      {
                          foreach (var p in value.Properties())
                          {
                              if (p.Value is JObject)
                                  WriteJson(writer, (JObject)p.Value);
                              else
                                  p.WriteTo(writer);
                          }
                      }
                  
                      public override object ReadJson(JsonReader reader, Type objectType, 
                         object existingValue, JsonSerializer serializer)
                      {
                          throw new NotImplementedException();
                      }
                  
                      public override bool CanConvert(Type objectType)
                      {
                          return true; // works for any type
                      }
                  }
                  

                  用法:

                  string json = JsonConvert.SerializeObject(sample, new FlattenJsonConverter());
                  

                  或者你可以簡單地將匿名類型創建隱藏到自定義轉換器中,如果你只需要一種類型的這種行為:

                  Or you can simply hide anonymous type creation into custom converter, if you need this behavior for one type only:

                  public class SampleJsonConverter : JsonConverter
                  {
                      public override void WriteJson(JsonWriter writer, 
                          object value, JsonSerializer serializer)
                      {
                          Sample sample = (Sample)value;
                          JToken t = JToken.FromObject(new { 
                                        sample.name, 
                                        sample.myclass.p1, 
                                        sample.myclass.p2 
                                     });
                  
                          t.WriteTo(writer);
                      }
                  
                      public override object ReadJson(JsonReader reader, Type objectType,
                          object existingValue, JsonSerializer serializer)
                      {
                          throw new NotImplementedException();
                      }
                  
                      public override bool CanConvert(Type objectType)
                      {
                          return objectType == typeof(Sample);
                      }
                  }
                  

                  這篇關于使用 json.net 在序列化期間合并兩個對象?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  Ignore whitespace while reading XML(讀取 XML 時忽略空格)
                  XML to LINQ with Checking Null Elements(帶有檢查空元素的 XML 到 LINQ)
                  Reading XML with unclosed tags in C#(在 C# 中讀取帶有未閉合標簽的 XML)
                  Parsing tables, cells with Html agility in C#(在 C# 中使用 Html 敏捷性解析表格、單元格)
                  delete element from xml using LINQ(使用 LINQ 從 xml 中刪除元素)
                  Parse malformed XML(解析格式錯誤的 XML)
                • <small id='dqTsd'></small><noframes id='dqTsd'>

                    <bdo id='dqTsd'></bdo><ul id='dqTsd'></ul>
                    <i id='dqTsd'><tr id='dqTsd'><dt id='dqTsd'><q id='dqTsd'><span id='dqTsd'><b id='dqTsd'><form id='dqTsd'><ins id='dqTsd'></ins><ul id='dqTsd'></ul><sub id='dqTsd'></sub></form><legend id='dqTsd'></legend><bdo id='dqTsd'><pre id='dqTsd'><center id='dqTsd'></center></pre></bdo></b><th id='dqTsd'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='dqTsd'><tfoot id='dqTsd'></tfoot><dl id='dqTsd'><fieldset id='dqTsd'></fieldset></dl></div>
                  • <legend id='dqTsd'><style id='dqTsd'><dir id='dqTsd'><q id='dqTsd'></q></dir></style></legend>
                    <tfoot id='dqTsd'></tfoot>
                      <tbody id='dqTsd'></tbody>

                          1. 主站蜘蛛池模板: 精品一二区 | 婷婷色网| 成av人电影在线 | 欧美一区二区三区在线 | 国内精品免费久久久久软件老师 | 国产在线一区观看 | 久久国产一区二区三区 | 亚洲国产成人精品久久久国产成人一区 | 国产精品免费一区二区三区四区 | 亚洲社区在线 | 青青久久久 | 在线观看欧美一区 | www.9191| 一级毛片免费完整视频 | 亚洲国产日韩一区 | a级黄色片在线观看 | 亚洲一区二区三区久久 | 久久久精 | 国产成人精品a视频一区www | 免费的av| 一区二区成人 | 一区二区三区在线免费观看 | 精品视频一区二区三区 | 国产精品久久久久久久久久免费看 | 久久大全 | 亚洲精品成人在线 | 国产大学生情侣呻吟视频 | 综合色站导航 | 久久国产精品免费一区二区三区 | 亚洲九九精品 | 久久综合久久久 | 另类一区 | 国产一级在线观看 | 免费观看色 | av在线免费观看网站 | 久久亚洲高清 | 中文字幕亚洲一区二区三区 | 一区二区三区在线 | 日韩精品在线网站 | 久久伊人一区 | 鸡毛片|