AspNetCore Json序列化设置

Stella981
• 阅读 533

AspNetCore 中的Json序列化处理已经默认使用_Newtonsoft.Json_库了...

比如像MVC中:

public I

不过使用过程中会发现一些问题,其实这算默认设置吧:

  • Json序列化后的字段格式会变成小驼峰形式
  • Json序列化时的日期时间格式化
  • 没有处理循环引用的问题,比如EntityFramework的导航循环Json序列化时循环引用异常
  • ...

可以通过Startup.cs修改全局默认的Json序列化设置:

// Startup.cs

// ...
public void ConfigureServices(IServiceCollection services)
{
    services.addMvc()
        .AddJsonOptions(setupAction =>
        {
            // 忽略循环引用,规避EntityFramework导航属性json序列化时的循环引用问题
            setupAction.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
            
            // 使用默认json序列化,规避字段小驼峰命名法
            //setupAction.SerializerSettings.ContractResolver = new DefaultContractResolver();
            
            // 设置json序列化的日期时间格式
            //setupAction.SerializerSettings.DateFormatString = "yyyy-MM-dd";
        });
}
//...

参考文档:

点赞
收藏
评论区
推荐文章
kenx kenx
2年前
SpringBoot 默认json解析器详解和字段序列化自定义
前言在我们开发项目API接口的时候,一些没有数据的字段会默认返回NULL,数字类型也会是NULL,这个时候前端希望字符串能够统一返回空字符,数字默认返回0,那我们就需要自定义json序列化处理SpringBoot默认的json解析方案我们知道在springboot中有默认的json解析器,SpringBoot中默认使用的Json解析技术框架是ja
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
2年前
java中的序列化方式及dubbo使用kryo序列化
java中的序列化方式:1\.自带序列化 ObjectInputSteam、ObjectOutStream等2\.hession23\.json,xml等格式4.kryo5.FST\dubbo直接多种序列化方式,默认是hession2.比较成熟,但是效率略低。可以配置使用kryo  <dubbo:
happlyfox happlyfox
2年前
Newtonsoft.Json的使用整理
关于我引言json是我们在工作中经常用到的一种数据传输格式,开始过程中解析json是我们经常面对的问题。NewtonsoftJson是c的一套json处理封装类,它可以高效,方便地帮助我们处理json。NetonSoftJson提供了完整的使用文档,文档地址如下:NetonSoftJson的不同使用场景常用方法序列化和反序列化这应该是我们最常用的俩
Wesley13 Wesley13
2年前
FastJson、Jackson、Gson进行Java对象转换Json的细节处理
Java对象转换Json的细节处理前言Java对象在转json的时候,如果对象里面有属性值为null的话,那么在json序列化的时候要不要序列出来呢?对比以下json转换方式一、fastJson1、fastJson在转换java对象为json的时候,默认是不序列化nu
Stella981 Stella981
2年前
Fastjson API Stream使用说明
FastjsonAPIStreamFastjson当需要处理超大JSON文本时,需要StreamAPI,在fastjson1.1.32版本中开始提供StreamAPI。如何序列化超大JSON数组序列化如果你的JSON格式是一个巨大的JSON数组,有很多元素,
Stella981 Stella981
2年前
JFinal的Model进行json反序列化
在使用JFinal进行开发时,我们可能会需要解决这样的问题:Model进行json的序列化与反序列化。官方已经提供了序列化的方法Model.toJson()非常方便,反序列化就得自己实现一下了。之前我一直都是把Model序列化成的json字符串,反序列化成map,然后再调用Model.setAttrs(map)。这样就有类型转换问题,最后反序列化得到
Wesley13 Wesley13
2年前
Go 中 JSON 的序列化和反序列化
golang中对json的序列化/反序列化操作还是比较容易的,序列化操作主要是通过encoding/json包的Marshal()方法来实现,反序列化操作主要是通过encoding/json包的Unmarshal()方法来实现.//JSON序列化和反序列化//可用在api序列化输出//转成
Stella981 Stella981
2年前
FastJson 反序列化注意事项
问题描述使用fastJson对json字符串进行反序列化时,有几个点需要注意一下:反序列化内部类反序列化模板类0\.Getter/Setter问题如我们希望返回的一个json串为"name":"name","isDeleted":true,"isEmpty":1
Wesley13 Wesley13
2年前
unity将 -u4E00 这种 编码 转汉字 方法
 unity中直接使用 JsonMapper.ToJson(对象),取到的字符串,里面汉字可能是\\u4E00类似这种其实也不用转,服务器会通过类似fastjson发序列化的方式,将json转对象,获取对象的值就是中文但是有时服务器要求将传参中字符串中类似\\u4E00这种转汉字,就需要下面 publ