Json.net 不再在重复的情况下抛出异常

2024-02-27

我正在尝试将我的 C# 应用程序从 Newtonsoft.JSON 6 升级到最新版本 (9.0.1)。

我注意到反序列化包含重复元素的对象时行为发生了变化,例如:

{
     "name": "test",
     "data":
     {
        "myElem": 1,
        "myElem": 2
    }
}

当反序列化此类对象时,Json.net 之前抛出了 ArgumentException。现在反序列化成功了,它似乎使用了最后一个重复键的值(因此在上面的示例中为“2”)。

根据我的阅读,关于重复存在一些争论,但 RFC 只建议使用唯一的密钥。

我想保留以前的行为,以便验证我的应用程序收到的数据。有没有办法配置 Json.net 来做到这一点?我尝试查看 JsonSerializerSettings 但没有找到任何符合我需求的内容。

我用来反序列化 JSON 的代码:

JsonSerializer.Create(new JsonSerializerSettings())
                          .Deserialize<JObject>(new JsonTextReader(new StringReader(rawJson));

or

JsonConvert.DeserializeObject<JObject>(rawJson);

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Json.net 不再在重复的情况下抛出异常 的相关文章

随机推荐

  • ttf 文件无法在 Chrome 和 Firefox 上呈现

    我一直在尝试在 Chrome 和 Firefox 中渲染 ttf 文件 但它似乎不起作用 渲染 woff 文件时工作正常 我从以下网站下载了该合集http www google com webfonts UsePlace use Colle
  • Debug.WriteLine 锁

    我的程序经常因死锁而停止 当我进行全部破坏并查看线程时 我发现三个线程卡在我们的日志记录函数中 public class Logging public static void WriteClientLog LogLevel logLevel
  • 识别 UITapGestureRecogniser 的多个 UILabels 点击

    在我的视图加载中 我有两个 UILabel 并且我为两者添加了相同的 tapGesture 如果点击特定标签 则应该执行其功能 但我无法这样做 void viewDidLoad lblEditProfile userInteractionE
  • 如何找到此特定字符串的多次出现并将它们分成一个列表?

    我试图在更大的整个字符串中找到特定的一段字符串 这是字符串 粗体字是我想使用 python re 库中的 re findall 函数提取的字符串 文本 p1 1 SNtestfilefri01 天线系统 文本 p1 2 SNtestfile
  • 创建一个对于读取操作来说线程安全的 DOM

    我的应用程序从多个 xml 源组成一个网页模型 这些源被正常的 Xerces 解析器解析为 DOM 对象到内存中 不幸的是 Xerces DOM 对象是not对于只读操作是线程安全的 我希望能够重用解析后的 DOM 进行读取 有谁知道我使用
  • 如何隐藏代码并重新运行 jupyter 笔记本中的所有单元格?

    我想在 Jupyter Notebook 的开头添加某种功能 隐藏 显示所有单元格并重新运行所有单元格 我最终想要得到的是一组图表 当所有单元格重新运行时 这些图表都会刷新 详细信息和我尝试过的 帖子IPython 从小部件运行下面的所有单
  • 更改 ggplot2 中栅格图的颜色

    由于一些不相关的原因 我尝试使用 ggplot2 而不是栅格包绘图函数来制作栅格图 我想缩放颜色 使图上的最低温度为蓝色 图上的最高温度为红色 而中间范围为白色 我已经尝试了 ggplot2 中的许多功能 但始终未能获得所需的结果 这就是我
  • 在 doxygen 中使用模块组内的节

    我寻求构建 doxygen 模块组内容的首选方法 例如 我想在不同部分的以下模块组中构造 details 文本 特别是每个部分都应该出现在生成的 PDF 的书签中 作为模块组的子元素 defgroup lorem brief Lorem i
  • 如何访问 Django Rest Framework 3.0 序列化程序中的查询参数?

    例如 在 Django Rest Framework 2 x 中 您可以访问序列化器中的 fields 查询参数 如下所示 fields self context request QUERY PARAMS get fields 这在 DRF
  • 如何针对 SharePoint 网站中的任何更改创建每日摘要警报

    我最近收到一个要求 要求某人接收有关 SharePoint 网站内任何更改的每日摘要警报 每个网站都有一个负责其网站内容的所有者 目前我们的工作方式是为站点内的每个列表 库自动设置警报 Get the Lists on this Site
  • PHP 有损/无损压缩图像

    我如何使用 PHP 以有损 无损压缩的方式压缩图像 就像这两个网站压缩图像一样 https compressor io https compressor io and https kraken io web interface https
  • Ruby 1.8.6 Array#uniq 不删除重复的哈希值

    我在 ruby 1 8 6 控制台中有这个数组 arr foo gt bar foo gt bar 两个元素彼此相等 arr 0 arr 1 gt true just in case there s some vs oddness arr
  • 如何解决此脚本中的 IE ClearType + jQuery 不透明度问题?

    我遇到了一个相当常见的问题 或者看起来是这样 经过一番谷歌搜索后 IE 在使用 jQuery 动画不透明度时会弄乱粗体文本和透明 png 您可以在此处查看示例 http dev gentlecode net dotme index samp
  • 从 Photoshop 动作到 Photoshop 脚本?

    我希望 Photoshop 自动为给定文件夹执行以下任务 加载给定文件夹中的所有 PNG 文件 将每个文件的模式转换为RGB color 为每个文件添加一层 将文件另存为 PSD 并放在同一文件夹中 有人告诉我这可以通过 Photoshop
  • R 创建带有 R CMD 检查的参考手册

    我正在编写一个 R 包 并希望制作该包中所有函数的 pdf 参考手册 我从here http grokbase com p r r devel 124dzqqxhg rd creating a reference manual during
  • Woocommerce 3 中无需在线支付交易的订单的 Google 分析集成

    我正在尝试在 Google 分析中添加有关订单的信息 但统计中并没有显示订单的接收信息 该网站不使用在线支付 或许原因与此有关 我用的是answer https stackoverflow com questions 52174961 go
  • Passport JS 中的 req.isAuthenticated() 是如何实现的? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在passportJS文档中 我认为passportisAuthenticated功能没有很好地记录 How is req isAut
  • 在 .NET Core MVC 应用程序中使用 TempData 时出现错误 500

    你好 我正在尝试添加一个对象TempData并重定向到另一个控制器操作 我在使用时收到错误消息 500TempData public IActionResult Attach long Id Story searchedStory this
  • 固定div与滚动条重叠

    我在使用滚动条将固定 div 放置在其他 div 中时遇到问题 它与滚动条重叠 它发生在 safari 和 ie 11 下 当我将 z index 设置为低于带有滚动条的 div 时 固定 div 位于其下方 并且它会丢失交互 您无法单击链
  • Json.net 不再在重复的情况下抛出异常

    我正在尝试将我的 C 应用程序从 Newtonsoft JSON 6 升级到最新版本 9 0 1 我注意到反序列化包含重复元素的对象时行为发生了变化 例如 name test data myElem 1 myElem 2 当反序列化此类对象