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

相关推荐
不吃肘击1 天前
SpringMVC中自定义消息转换器处理响应和请求时的Json数据序列化的格式
java·spring·json·序列化·反序列化·消息转换器
Dreamfine2 天前
Rust将结构导出到json如何处理小数点问题
rust·json·dolphindb·rust_decimal·serde_json
朴拙数科3 天前
MCP协议:自然语言与结构化数据的双向桥梁 ——基于JSON-RPC 2.0的标准化实践
qt·rpc·json
爱编程的鱼4 天前
JSON-RPC 2.0 规范中文版——无状态轻量级远程过程调用协议
前端·网络·qt·网络协议·rpc·json
TechNomad4 天前
Qt开发:JSON字符串的序列化和反序列化
qt·json
Mr.小怪5 天前
【开源】开发了一个在终端里运行的轻量级Excel:可以查看、简单编辑、转JSON
json
CHQIUU5 天前
在 C# .NET 中驾驭 JSON:使用 Newtonsoft.Json 进行解析与 POST 请求实战
c#·json·.net
i_am_a_div_日积月累_5 天前
git检查提交分支和package.json的version版本是否一致
git·json
Java Fans6 天前
WPF使用SQLite与JSON文本文件结合存储体侧平衡数据的设计与实现
sqlite·json·wpf