分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

Asp.Net Core中使用Newtonsoft.Json进行序列化处理解决返回值首字母小写

发布时间:2023-09-06 01:25责任编辑:熊小新关键词:暂无标签

一.Newtonsoft.Json仅 依赖.Net Standard所以支持.Net Framework也支持.Net Core

二.使用实例

Jquery 的ajax get请求

$(‘#btnOne‘).click(function () { ???//使用ajax get请求json 数据 ???$.get(‘@Url.Action("DataOne")‘, {}, function (data) { ???????console.info(data); ???????console.info(data[0].menuName); ???});});

  1.默认情况,使用驼峰样式处理字段名Key

public JsonResult DataThree(){ ???????List<Menu> menus = _context.Menu ???????.ToList(); ???return Json(menus);}

  

2.设置不使用驼峰格式处理,由后台字段确定大小写,也就是默认格式(基本搞定)

public JsonResult DataOne(){ ???List<Menu> menus = _context.Menu.ToList(); ???JsonSerializerSettings settings = new JsonSerializerSettings(); ???//EF Core中默认为驼峰样式序列化处理key ???//settings.ContractResolver = new CamelCasePropertyNamesContractResolver(); ???//使用默认方式,不更改元数据的key的大小写 ???settings.ContractResolver = new DefaultContractResolver(); ???return Json(menus, settings);}

  

3.处理循环引用,加载关联表数据

public JsonResult DataTwo(){ ???List<Menu> menus = _context.Menu ???????.Include(q => q.Model) ???????.ToList(); ???//处理循环引用问题 ???JsonSerializerSettings settings = new JsonSerializerSettings(); ???settings.MaxDepth = 2; ???settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; //设置不处理循环引用 ???return Json(menus, settings);}

  

三、全局设置,Json序列化配置(每次都写设置太麻烦)

 在Startup文件中修改

// This method gets called by the runtime. Use this method to add services to the container.public void ConfigureServices(IServiceCollection services){ ???// Add framework services. ???services.AddMvc() ???????//全局配置Json序列化处理 ???????.AddJsonOptions(options => ???????{ ???????????//忽略循环引用 ???????????options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; ???????????//不使用驼峰样式的key ???????????options.SerializerSettings.ContractResolver = new DefaultContractResolver(); ???????????//设置时间格式 ???????????options.SerializerSettings.DateFormatString = "yyyy-MM-dd"; ???????} ???????);}

  大功告成。

原作者:https://www.cnblogs.com/tianma3798/p/6918548.html

Asp.Net Core中使用Newtonsoft.Json进行序列化处理解决返回值首字母小写

原文地址:http://www.cnblogs.com/luwenlong/p/7867031.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved