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

相关推荐
小孔龙8 小时前
03.Kotlin Serialization - 认识序列化器
kotlin·json
Martin-Luo4 天前
Vue3 通过json配置生成查询表单
javascript·vue.js·json
星尘库4 天前
后端json数据反序列化枚举类型不匹配的错误
json
BXCQ_xuan4 天前
软件工程实践四:MyBatis-Plus 教程(连接、分页、查询)
spring boot·mysql·json·mybatis
王维志4 天前
LiteDB详解
数据库·后端·mongodb·sqlite·c#·json·database
ID_180079054735 天前
Python采集京东店铺所有商品数据,json数据返回
json
ljh5746491195 天前
mysql 必须在逗号分隔字符串和JSON字段之间二选一,怎么选
数据库·mysql·json
小孔龙5 天前
02.Kotlin Serialization 属性序列化控制
kotlin·json
Cachel wood5 天前
信息检索、推荐系统模型排序质量指标:AP@K和MAP@K
windows·搜索引擎·json·推荐系统·搜索
tebukaopu1485 天前
json文件转excel
json·excel