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

      <small id='4ZCRQ'></small><noframes id='4ZCRQ'>

      1. Newtonsoft JSON - 动态对象

        Newtonsoft JSON - Dynamic Objects(Newtonsoft JSON - 动态对象)
        1. <legend id='CzdJW'><style id='CzdJW'><dir id='CzdJW'><q id='CzdJW'></q></dir></style></legend>

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

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

              • <bdo id='CzdJW'></bdo><ul id='CzdJW'></ul>
              • <tfoot id='CzdJW'></tfoot>
                  <tbody id='CzdJW'></tbody>
                  本文介绍了Newtonsoft JSON - 动态对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  限时送ChatGPT账号..

                  我正在使用 Newtonsoft JSON 库对传入的原始 JSON 执行动态反序列化,并发现了一些我无法解释的东西.

                  I am using the Newtonsoft JSON library to perform dynamic deserialisation on incoming raw JSON and have found something that I just can't explain.

                  起点是以下 JSON 字符串:

                  The starting point is the following JSON string:

                  {
                    "task": {
                      "dueDate": "2012-12-03T00:00:00"
                    }
                  }
                  

                  没什么太复杂的...

                  在代码中我正在这样做:

                  In code I am then doing this:

                  var dyn = JsonConvert.DeserializeObject<dynamic>(rawJson);
                  DateTime dueDate = dyn.task.dueDate.Value;
                  

                  这段代码已经存在了几个月并且运行良好,但是在最近的测试版本中,我们看到了以下错误:

                  This code has been in place for months and works fine, however in a recent test build we were seeing the following error:

                  'Newtonsoft.Json.Linq.JObject' 不包含对任务"

                  'Newtonsoft.Json.Linq.JObject' does not contain a definition for 'task'

                  堆栈跟踪:在 CallSite.Target(Closure , CallSite , Object ) 在System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,Tret](CallSite站点,T0 arg0)

                  Stack Trace: at CallSite.Target(Closure , CallSite , Object ) at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0)

                  现在这很奇怪,如果我更改上面的代码,一切都会重新开始工作:

                  Now this is where is gets odd, everything starts to work again if I change the code above from:

                  DateTime dueDate = dyn.task.dueDate.Value;
                  

                  DateTime dueDate = dyn["task"]["dueDate"].Value;
                  

                  因此,尽管这是已修复",但我不明白为什么要修复它以及可能的原因是什么.有人有什么想法吗

                  So, although this is "fixed" I don't understand why this fixes it and what the possible cause could be. Does anybody have any ideas

                  推荐答案

                  你可以试试这个:

                  dynamic task = JObject.Parse(rawJson);
                  

                  文档:动态查询 JSON

                  这篇关于Newtonsoft 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 自定义合约序列化和集合)
                1. <small id='EyW3X'></small><noframes id='EyW3X'>

                    <tfoot id='EyW3X'></tfoot><legend id='EyW3X'><style id='EyW3X'><dir id='EyW3X'><q id='EyW3X'></q></dir></style></legend>

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