WebAPI项目从Newtonsoft.Json迁移到System.Text.Json踩坑备忘

1.控制器层方法返回类型不能为元组

控制器层方法返回类型为元组时,序列化结果为空。

因为元组没有属性只有field,除非使用IncludeFields参数专门指定,否则使用System.Text.Json进行序列化时不会序列化field

cs 复制代码
var options = new JsonSerializerOptions
{
    IncludeFields = true,
};
var json = JsonSerializer.Serialize(tuple1, options);

2.控制器层方法返回类型不能为Newtonsoft.Json专用类型

控制器层方法返回类型如果为JToken/JObject/JArray等Newtonsoft.Json专用类型,无法被System.Text.Json序列化,需替换为JsonNode/JsonObject/JsonArray等System.Text.Json库专用类型

3.System.Text.Json暂不支持JsonPath,需引入第三方类库

4.redis使用注意事项

如果项目内使用的是CSRedisCore库,应注意其依赖的是Newtonsoft.Json,调用Redis读写方法时应注意数据类型不能是JsonNode/JsonObject/JsonArray等System.Text.Json库专用类型

相关推荐
wuyk5553 小时前
Spider-第07讲-JSON接口与正则提取
爬虫·python·json
xbzb3 天前
镜像到底存在哪:/var/lib/docker 的四级映射与 daemon.json 配置
docker·容器·json·镜像·daemon.json·四级
坤坤子吖3 天前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json
code2cat4 天前
【随笔】结构化输出:JSON格式过关,业务数据就能入库吗
json·大语言模型
Hello_Pyhx7 天前
NWinfo 导出 Windows 硬件信息:从 JSON 报告到缺项排查
windows·json
程序员大阳8 天前
副队长JavaScript教程(66)-本地存储实战:待办事项网页的开发
javascript·json·实战·待办事项·本地存储·案例
视觉小萌新9 天前
AI Class 3 · Chapter 2-3:函数、异常、文件读写+JSON / JSONL 读写(小白版)
人工智能·python·json
翊众建站10 天前
用 JSON-LD 给企业官网做结构化数据:LocalBusiness 与 FAQPage 实践笔记
人工智能·搜索引擎·json
Patrick_Wilson10 天前
读懂一个 Go JSON 处理函数:从输入数据追踪结构体、校验与错误返回
go·json·编程语言