使用字典 System.Text.Json 将 json 反序列化为对象

2024-02-17

我正在开发一个 .Net 6.0 项目,我想从 Newtonsoft.Json 迁移到 System.Text.Json。到目前为止,除了以下内容之外,大多数都可以正常工作:

我有这个 json:

[
   {
      "Key":"ValidateRequired",
      "LocalizedValue":{
         "fr-FR":"Ce champ est obligatoire.",
         "en-GB":"This field is required.",
         "nl-BE":"Dit is een verplicht veld.",
         "de-DE":"Dieses Feld ist ein Pflichtfeld."
      }
   },
   {
      "Key":"ValidateEmail",
      "LocalizedValue":{
         "fr-FR":"Veuillez fournir une adresse électronique valide.",
         "en-GB":"Please enter a valid email address.",
         "nl-BE":"Vul hier een geldig e-mailadres in.",
         "de-DE":"Geben Sie bitte eine gültige E-Mail-Adresse ein."
      }
   },
   {
      "Key":"ValidateUrl",
      "LocalizedValue":{
         "fr-FR":"Veuillez fournir une adresse URL valide.",
         "en-GB":"Please enter a valid URL.",
         "nl-BE":"Vul hier een geldige URL in.",
         "de-DE":"Geben Sie bitte eine gültige URL ein."
      }
   }
]

我试图将其存储到以下内容中:

public class Translations
{
    public string Key { get; set; }

    public Dictionary<string, string> LocalizedValue = new();
}

当我使用 Newtonsoft.JSON 反序列化时,字典中的值填充得很好LocalizedValue

jsonlocalization = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Translations>>(jsonString);

但是当我尝试使用 System.Text.Json 时,字典保持为空

jsonlocalization = System.Text.Json.JsonSerializer.Deserialize<List<Translations>>(jsonString);

如何使用 System.Text.Json 并填充字典?


The System.Text.Json库不会反序列化为字段。如果您将类更改为使用属性,则示例 JSON 将按预期反序列化。

public class Translations
{
    public string Key { get; set; }
    public Dictionary<string, string> LocalizedValue { get; set; } = new();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用字典 System.Text.Json 将 json 反序列化为对象 的相关文章

  • 双缓冲列表框

    我有一个 CheckedListBox WinForms 控件 它继承自 ListBox 谷歌搜索显示问题出在 ListBox 该控件锚定到其窗体的所有四个边 当调整表单大小时 列表框会出现难看的闪烁 我尝试继承 CheckedListBo
  • NHibernate手动控制抓取

    我正在使用 NHibernate 我想控制手动获取相关实体 这是我的示例实体 public class Post public virtual long Id get set public virtual string Title get
  • 查找周边上的点来表示边界/形状

    我有一个简单的二维网格 其格式为myGrid x y 我正在尝试找到一种方法来找到所选网格周围的周长 这样我就有了所选网格的形状 这是我的意思的一个例子 这里的想法是找到所有相关的 角点 也就是图像周边的红点 放入一个列表中 这样我就可以从
  • 字典的线程安全

    如果我有一个 Dictionary
  • 终止以 System.Diagnostic.Process.Start("FileName") 启动的进程

    我正在尝试创建一个将在特定时间执行操作的应用程序 很像 Windows 任务计划程序 我当前正在使用 Process Start 来启动任务所需的文件 或 exe 我通过调用文件 mp3 启动一个进程 该进程启动 WMP 因为它是默认应用程
  • 本机 C++ 通过代理 C++ 托管 dll 使用 C# dll

    这相当复杂 所以请耐心听我说 我有一个用本机 仅限 Win32 C 编码的第 3 方程序 目标 作为目标设计的一部分 它实现了一个 dll 插件系统 本机 DLL 当放置在程序的 ext 目录中时 由目标加载 然后 目标根据需要调用每个 D
  • 驱蚊程序?

    不 我认真的 最近 我读到 当电脑的压电蜂鸣器以一定频率振动时 声音可以驱赶蚊子 真的吗 如何以编程方式访问 PC 蜂鸣器 而不是扬声器 最好使用 C 我不知道有没有蚊子 但我的头疼得要命 啊啊 using System Runtime I
  • 在 .NET Core 上通过 MEF 将参数传递给插件构造函数?

    我花了几个小时试图弄清楚如何通过 MEF System Composition 将参数传递给插件构造函数 但一切都无济于事 不用说 相关文档很少 查看源代码也没有帮助 这曾经非常容易做到 使用 CompositionHost Compose
  • 从动态服务器中抓取 html 列表数据

    哈喽大家好 抱歉提出转储问题 这是我最后的手段 我发誓我尝试了无数其他 Stackoverflow 问题 不同的框架等 但这些似乎没有帮助 我有以下问题 一个网站显示一个数据列表 前面有大量的 div li span 等标签 它是一个很大的
  • 在 C# 中给定周数和年份,计算一周的开始和结束日期(基于 ISO 规范)

    我需要生成一份报告 显示一年中的 52 周 或某些年份的 53 周 及其开始日期和结束日期 有一个 ISO 规范可以做到这一点 但看起来非常复杂 我希望有人知道在 C 或 Visual Basic 中执行此操作的方法 实际上适用于 Visu
  • std::make_shared 作为默认参数无法编译

    在 Visual C 2008 和 2010 中 以下代码无法编译并出现以下错误 include
  • 将控制台输入和输出重定向到文本框

    您好 提前致谢 我正在尝试 非常努力 将控制台输入和输出重定向到文本框 到目前为止 输出工作正常 但问题在于输入 例如 我无法执行一个简单的程序来执行以下操作 Console WriteLine 请输入您的姓名 字符串名称 Console
  • 在浏览器中测试wcf服务

    我无法在浏览器中调用基本的 wcf web 方法 即使使用
  • 如何从 MongoDB 中的 ChangeStream 过滤对特定字段的更新

    我正在设置一个 ChangeStream 以便在集合中的文档发生更改时通知我 以便我可以将该文档的 LastModified 元素更新插入到事件发生的时间 由于此更新将导致 ChangeStream 上发生新事件 因此我需要过滤掉这些更新以
  • BlueZ D-Bus C,应用 BLE

    我正在尝试编写一个应用程序来搜索附近的蓝牙设备并与它们通信 我的应用程序将用 C 语言编写 并打算在 Linux 下工作 是否有通过 C 中的 D Bus 使用 BlueZ 的教程或示例 此应用程序的目的是从 BLE 中的文件发送数据 你能
  • 从资源文件获取 DisplayName [重复]

    这个问题在这里已经有答案了 我在 App GlobalResources 文件夹中有特定于文化的资源文件 现在我需要从此资源文件中读取 DisplayName 属性的值 我在用 Display Name MerchantName Resou
  • 为什么 istream/ostream 慢

    于 50 40http channel9 msdn com Events GoingNative 2013 Writing Quick Code in Cpp Quickly http channel9 msdn com Events Go
  • Xamarin Forms:System.Reflection.TargetInitationException:调用目标已引发异常

    我正在为这个问题苦苦挣扎 我只是创建了一个简单的跨平台页面 这里是 XAML 代码
  • 将 Web 场迁移到 ASP.NET 运行时版本 4,同时保持会话

    我们已将 Web 应用程序从 net 运行时 2 v 3 5 迁移到 net 运行时 4 v 4 5 我有一个部署问题 我们的 sessionstate 服务器是一个 stateserver 并在单独的服务器上运行框架 2 中的 aspne
  • 在 C++11 中设置 std::thread 优先级的可移植方法

    在后 C 11 世界中设置 std thread 实例的优先级的正确方法是什么 是否有一种至少在 Windows 和 POSIX Linux 环境中有效的可移植方法 或者是获取句柄并使用可用于特定操作系统的任何本机调用的问题 无法通过 C

随机推荐

  • MEX 文件可以使用 -fsanitize=address 运行吗?

    我有一个用 g 正常编译的 MEX 文件 我最近将其编译更改为使用 clang 并包含 fsanitize address进入两个LDFLAGS and CFLAGS 注意 此项目不存在 CXX 标志 然而 尽管如此 一旦我进入 MATLA
  • 在 docker 中使用 vaadin 运行 Spring boot 应用程序时初始化 Tomcat 失败

    我是一名业余爱好者 最近从 heroku 切换到 render com 我想把我的 SringBoot 应用程序放在那里 但它要求我在我没有经验的 docker 环境中运行它 我设法为其编写 Dockerfile 并从 jar 文件运行它
  • 控制行长 d3.js

    我使用以下代码生成一个被其他圆圈包围的圆圈 这些圆圈都通过以下方式连接到主圆圈
  • 动态添加 Angular 指令

    我对 Angular JS 相当陌生 并且发现它的学习曲线很陡峭 我感觉我真的错过了这里的要点 但这里是 我想从控制器向我的页面添加指令 所以我想如果我将指令标签添加到页面 指令和关联的控制器 模板等就会随之添加 在阅读了 compile
  • 为什么我在 Android Studio 3.2.1 中收到“所有 com.android.support 库必须使用完全相同的版本规范”?

    我读过这篇文章所有 com android support 库必须使用完全相同的版本规范 https stackoverflow com questions 42374151 all com android support librarie
  • PHP 行为和数组指针

    我正在阅读 PHP 手册 特别是each http php net each函数 并遇到以下警告 Caution因为将数组分配给另一个变量会重置原始数组的指针 所以如果我们将 fruit 分配给循环内的另一个变量 上面的示例将导致无限循环
  • 如何获得 (lcd) 显示屏对角线的实际尺寸,即它是 17 英寸还是 19 英寸或其他?

    这对我很有用 因为我必须在屏幕上以正确的尺寸映射对象 如果我使用分辨率为 1280x1024 的 19 lcd 和正常的 96dpi 设置 那么为了映射正确的 1 英寸正方形 我必须编写这样的 xaml
  • 无法读取未定义的属性“force”(简单 D3 网络图)

    我对 D3 和 Javascript 很陌生 但通常很幸运 只需复制基本的 D3 脚本并将数据转换为正确的格式即可进行可视化工作 我尝试了几个 D3 网络图 当我检查页面时 所有这些图都出现了相同的错误 未捕获的类型错误 无法读取未定义的属
  • Java EE 6 - 作为有状态会话 bean 的有状态 REST

    我正在创建需要有状态的 REST Web 服务 考虑以下情况 Web 服务执行困难且耗时的计算并返回非常大的结果 因此 该服务仅返回一些结果 整个结果保存在服务器上的有状态 bean 中 当结果存在时 客户可以要求现有结果的子集 我正在尝试
  • VBA Excel 到 Sql Server

    编写 VBA 代码以从 Excel 连接到 SQL Server 2005 的最佳方法是什么 excel文件的用户可能运行XP Vista Win7 我想尽可能阻止驱动程序安装 我的理解是XP使用MDAC 而Vista Win7使用DAC
  • Angular 6 MatTable 1000 行性能

    我在项目中使用角度材质 并使用 Mat Table 渲染每个表 1000 个产品 行 当将表的分页 我们使用后端分页 更改为 1000 行时 性能变得非常慢 我什至无法在文本框中写入 我尝试调试这个问题 所以我将日志放在一列模板上 这样我就
  • Spring JDBC 方面

    是否可以将 Spring AOP 方面定义为 Spring JDBC 具体来说 我正在尝试为 NamedParameterJdbcTemplate 设置一个记录器来记录 SQL 查询 下面是我的 XML 配置
  • 如何使用node-fetch发送cookie?

    我有一个 Nodejs 应用程序 它可以处理用户的请求并接收我想要代理到内部 API 服务的 cookie 如何使用节点获取来解决这个问题 请不要提供超级代理 您应该能够通过在请求标头中设置 cookie 来传递 cookie const
  • iOS 模拟器首次启动需要很长时间

    我正在尝试运行 iOS 模拟器 Xcode 7 0 1 OS X Yosemite 然而 我第一次运行模拟器时 启动时间很长 80 120秒 这导致我的自动化测试超时 如果我关闭模拟器并重新启动同一个模拟器 它将在大约 5 8 秒内启动 启
  • 更改文件夹中文件的文件扩展名?

    我想更改特定文件夹中文件的扩展名 我在论坛上读到了有关这个主题的内容 使用确实的想法 我编写了以下代码 我希望它能够工作 但事实并非如此 我将感谢任何指导来发现我的错误 import os sys folder E 1936342 G te
  • 指令内的 ng-repeat 和 ng-transinclude

    我想创建一个内容更改时具有自定义行为的列表 我尝试为此创建一个指令 但我对如何将 ng transclude 与 ng repeat 指令结合起来有点迷失 有人能让我走上正轨吗 Html div div div div
  • 覆盖/重写 javascript 库函数

    我正在使用开源 javascript 库时间线 verite co http timeline verite co它是一个时间线库 在页面加载时效果很好 但是当我尝试在某些条件下重新绘制时间线时 它开始给出奇怪的错误 我想修改库中的init
  • Struts2:如何告诉我的index.jsp 转发到struts2 操作?

    通常 当我在 Web 应用程序上看到 index jsp 时 它只是转发到另一个 url 例如 login jsp 例如
  • 更新 exe 资源部分中的图像(在 c#/C 中)

    我的资源部分的可执行文件中嵌入了一些图像 我按照以下步骤创建了可执行文件 使用某些实用程序为目录中的所有图像 jpg 生成 resx 文件 这些图像被命名为 image1 jpg image2 jpg 等 使用以下命令从 resx 文件创建
  • 使用字典 System.Text.Json 将 json 反序列化为对象

    我正在开发一个 Net 6 0 项目 我想从 Newtonsoft Json 迁移到 System Text Json 到目前为止 除了以下内容之外 大多数都可以正常工作 我有这个 json Key ValidateRequired Loc