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库专用类型

相关推荐
NuageL14 小时前
原始Json字符串转化为Java对象列表/把中文键名变成英文键名
java·spring boot·json
摇滚侠16 小时前
解释一下 JSON 文件中,能不能写注释,postman 中,定义 json 格式的接口参数,能写注释吗
json
林开落L16 小时前
从入门到了解:Protobuf、JSON、XML 核心解析(C++ 示例)
xml·c++·json·protobuffer·结构化数据序列化机制
酒精检测仪18 小时前
Elpis 总结
低代码·json
CSCN新手听安2 天前
【linux】网络基础(三)TCP服务端网络版本计算器的优化,Json的使用,服务器守护进程化daemon,重谈OSI七层模型
linux·服务器·网络·c++·tcp/ip·json
bloglin999992 天前
Qwen3-32B报错Invalid json output:{“type“: “1“}For troubleshooting, visit
llm·json
Trouvaille ~2 天前
【Linux】应用层协议设计实战(二):Jsoncpp序列化与完整实现
linux·运维·服务器·网络·c++·json·应用层
剩下了什么2 天前
MySQL JSON_SET() 函数
数据库·mysql·json
梦帮科技2 天前
Node.js配置生成器CLI工具开发实战
前端·人工智能·windows·前端框架·node.js·json
数据知道3 天前
PostgreSQL实战:详解如何用Python优雅地从PG中存取处理JSON
python·postgresql·json