首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从NewtonSoft.Json迁移到System.Text.json

从NewtonSoft.Json迁移到System.Text.json
EN

Stack Overflow用户
提问于 2022-06-20 13:03:50
回答 1查看 340关注 0票数 -1

我们有一个POST端点,它接受字典作为请求体。

代码语言:javascript
复制
        public class A {
public IDictionary<string, JsonElement?>? Values { get; set; };
    }

早些时候我们接受了JToken。在迁移过程中,我们已经用JToken取代了JsonElement。

请求体如下所示

代码语言:javascript
复制
{"tags": {
    "Some-tag": "Tags-value"
  }
}

当它是JToken时,它是无缝工作的。迁移后,我得到错误“错误转换值”标记-值“以键入'System.Nullable`1System.Text.Json.JsonElement”。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2022-06-20 15:00:46

在反序列化或序列化时,这是可配置的。也许你也需要其他选择。

代码语言:javascript
复制
     public static readonly JsonSerializerOptions SettingsOptions = new()
            {
                NumberHandling = JsonNumberHandling.AllowReadingFromString,
                UnknownTypeHandling = JsonUnknownTypeHandling.JsonElement
            };

然后您可以这样使用这个选项:

代码语言:javascript
复制
 Data example = JsonSerializer.Deserialize<Data>(content, JsonSerializerConfig.SettingsOptions);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72687491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档