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

    • <bdo id='SC2yu'></bdo><ul id='SC2yu'></ul>
  • <tfoot id='SC2yu'></tfoot>
  • <small id='SC2yu'></small><noframes id='SC2yu'>

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

        仅反序列化 JSON 文件的一个属性

        Deserialize only one property of a JSON file(仅反序列化 JSON 文件的一个属性)

                <tbody id='VWkMv'></tbody>

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

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

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

                  <legend id='VWkMv'><style id='VWkMv'><dir id='VWkMv'><q id='VWkMv'></q></dir></style></legend>
                • 本文介绍了仅反序列化 JSON 文件的一个属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  限时送ChatGPT账号..

                  我遇到了一个问题.我想反序列化来自服务器的复杂 JSON 响应,但我只需要它的一部分.

                  I am faced with a problem. I want to deserialize a complex JSON response from a server, but I only need one part of it.

                  这是一个例子:

                  {
                   "menu": {
                    "id": "file",
                    "value": "File",
                    "popup": {
                      "menuitem": [
                        {"value": "New", "onclick": "CreateNewDoc()"},
                        {"value": "Open", "onclick": "OpenDoc()"},
                        {"value": "Close", "onclick": "CloseDoc()"}
                      ]
                    }
                   }
                  }
                  

                  我也使用了Csharp2json来获取我需要的类对象,我只是根据自己的需要修改了菜单类:

                  I also used Csharp2json to get the class objects that I need, I just modified the menu class according to my needs :

                      public class Menuitem
                  {
                      public string value { get; set; }
                      public string onclick { get; set; }
                  }
                  
                  public class Popup
                  {
                      public IList<Menuitem> menuitem { get; set; }
                  }
                  
                  public class Menu
                  {
                      public Popup popup { get; set; }
                  }
                  
                  public class RootObjectJourney
                  {
                      public Menu menu { get; set; }
                  }
                  

                  现在,如果我只需要弹出值和他的孩子,我该如何反序列化?

                  Now, how do I deserialize if I only need the popup value and his children?

                  推荐答案

                  您实际上可以利用 NewtonSoft.Json 的 Linq 命名空间并稍微修改您的代码以仅获得弹出窗口".JSON 中的元素.

                  You can actually utilize the Linq namespace of the NewtonSoft.Json and modify your code little bit to get only the "popup" elements from the JSON.

                  你的班级结构保持不变.确保使用命名空间

                  your class structure remains the same. Make sure you use the namespace(s)

                  using Newtonsoft.Json;
                  using Newtonsoft.Json.Linq;
                  

                  然后在你的代码中,一旦你有了 JSON 字符串,你就可以使用JObject".静态方法解析"解析 JSON,比如

                  then in your code once you have the JSON string with you, you can use the "JObject" static method "Parse" to parse the JSON, like

                     var parsedObject = JObject.Parse(jsonString);
                  

                  这将为您提供 JObject,您可以使用它访问所有 JSON 键,就像字典一样.

                  This will give you the JObject with which you can access all your JSON Keys just like a Dictionary.

                  var popupJson = parsedObject["menu"]["popup"].ToString();
                  

                  这个 popupJson 现在只有弹出键的 JSON.有了这个,您可以使用 JsonConvert 来反序列化 JSON.

                  This popupJson now has the JSON only for the popup key. with this you can use the JsonConvert to de- serialize the JSON.

                  var popupObj = JsonConvert.DeserializeObject<Popup>(popupJson);
                  

                  这个 popupObj 只有菜单项列表.

                  this popupObj has only list of menuitems.

                  这篇关于仅反序列化 JSON 文件的一个属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Force JsonConvert.SerializeXmlNode to serialize node value as an Integer or a Boolean(强制 JsonConvert.SerializeXmlNode 将节点值序列化为整数或布尔值)
                  Using JSON to Serialize/Deserialize TimeSpan(使用 JSON 序列化/反序列化 TimeSpan)
                  Could not determine JSON object type for type quot;Classquot;(无法确定类型“Class的 JSON 对象类型.)
                  How to deserialize a JSONP response (preferably with JsonTextReader and not a string)?(如何反序列化 JSONP 响应(最好使用 JsonTextReader 而不是字符串)?)
                  how to de-serialize JSON data in which Timestamp it-self contains fields?(如何反序列化时间戳本身包含字段的JSON数据?)
                  JSON.Net custom contract serialization and Collections(JSON.Net 自定义合约序列化和集合)
                      • <bdo id='TC90X'></bdo><ul id='TC90X'></ul>

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

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

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

                          <tbody id='TC90X'></tbody>