首页 > 其他分享 >升级到.Net 8 api 返回JObject 对象为空字符串

升级到.Net 8 api 返回JObject 对象为空字符串

时间:2024-06-17 10:31:56浏览次数:20  
标签:返回 JObject Json api 为空 test AddNewtonsoftJson

在使用dotnet 8 过程中,使用了JObject类型作为api的返回,但是返回的空数组

api:

[HttpGet("voices")]
public async Task<IActionResult> GetObject()
{
    JObject obj = new JObject();
    obj["test"] = "test";
    return new JsonResult(obj) { StatusCode = 200,ContentType= "application/json" };
}

期待返回:

{
"test": "test"
}

真实返回:
{
"test": []
}

查询资料得知:

.Net 8 默认为system.text.json支持

导致返回的数据格式都是基于system.text.json格式化返回。

了解到有两种解决方法:

1.移除JObject改用System.Text.Json.Nodes.JsonObject

2.改用Microsoft.AspNetCore.Mvc.NewtonsoftJson 

 

以下是第二种方法:

需要启用Newtonsoft.Json。

引用类库:Microsoft.AspNetCore.Mvc.NewtonsoftJson (记得要用Mircrisoft开头的库,之前的不支持net8 AddNewtonsoftJson)

在启动文件添加NuGet 包并在 Program.cs 中进行配置

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddControllers()
.AddNewtonsoftJson();

 

在上述代码中,对 AddNewtonsoftJson 的调用会将以下 Web API、MVC 和 Razor Pages 功能配置为使用 Newtonsoft.Json;

需要对日期格式进行设置:

builder.Services.AddControllers().AddNewtonsoftJson(option =>
{
option.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
});

 

标签:返回,JObject,Json,api,为空,test,AddNewtonsoftJson
From: https://www.cnblogs.com/lixipeng/p/18251891

相关文章

  • 如何将图片转换为向量?(通过DashScope API调用)
    本文介绍如何通过模型服务灵积DashScope将图片转换为向量,并入库至向量检索服务。DashVector中进行向量检索。,通过灵活、易用的模型API服务,让各种模态模型的能力,都能方便的为AI开发者所用。通过灵积API,开发者不仅可以直接集成大模型的强大能力,也可以对模型进行训练微调,实现模型......
  • Apipost模拟HTTP客户端
    模拟HTTP客户端的软件有很多,其中比较著名的就有API-FOX、POSTMAN。相信很多小伙伴都使用POSTMAN。这篇博客主要介绍Apipost的原因是,Apipost无需下载,具有网页版。APIFOX的站内下载:Api-Fox,类似于PostMan的软件_postman资源-CSDN文库 Apipost模拟HTTP客户端(正文)新建窗口 ......
  • ArkTS本地化数据库SqlLight使用,鸿蒙NEXT星河版API(11)
    RelationalStore提供了一套完整的对本地数据库进行管理的机制,对外提供了一系列的增、删、改、查等接口,也可以直接运行用户输入的SQL语句来满足复杂的场景需要。谓词:数据库中用来代表数据实体的性质、特征或者数据实体之间关系的词项,主要用来定义数据库的操作条件。结果......
  • FASTAPI从入门到进阶
    fastapi框架fastapi,一个用于构建API的现代、快速(高性能)的web框架。fastapi是建立在Starlette和Pydantic基础上的,Pydantic是一个基于Python类型提示来定义数据验证、序列化和文档的库。Starlette是一种轻量级的ASGI框架/工具包,是构建高性能Asyncio服务的理性选择。快速:可与......
  • python如何判断字符串不为空格
    1、使用字符串长度判断。len(s)==0 则字符串为空if len(username) ==0 or len(password) == 0:  #判断输入的用户名或密码是否为空    print('用户名或密码不能为空')2、isspace判断是否字符串全部是空格。s.isspace()==Trueif username.isspace(......
  • Python API自动化:提升开发效率的利器
    PythonAPI自动化:提升开发效率的利器随着互联网的发展,API(应用程序接口)已经成为现代应用程序开发的核心部分。API允许不同的软件系统之间进行通信,使得开发者可以轻松地集成各种服务和功能。在日常开发中,API的自动化测试和调用成为了不可或缺的环节。本文将介绍如何使用Pytho......
  • 育种 API (BrAPI):一个植物表型/基因型数据库的标准接口
    TheBreedingAPI(BrAPI)项目旨在实现植物育种数据库之间的互操作性。BrAPI是一个标准化的RESTfulWeb服务API规范,用于交流植物育种数据,包括基因型和表型。BrAPI非常灵活,可以处理各种用例。社区也非常强大(https://brapi.org/),任何对植物育种数据管理感兴趣的人都可以免费......
  • (26-4-01)基于OpenAI和LangChain的上市公司估值系统:OpenAI API和Langchain探索(1)OpenAI
    10.5 OpenAIAPI和Langchain探索接下来使用OpenAIAPI与Langchain对解析后的文档进行总结,从中提取有价值的信息。这将帮助我们更好地理解文档中的内容,包括业务情况、风险因素、财务状况分析等,并提供更简洁的概括信息。10.5.1 OpenAI接口编写文件openai_interface.py,实......
  • 通过Vue3+高德地图的JS API实现市区地图渲染
    效果图:核心代码:<scriptsetup>import{onMounted,onUnmounted}from'vue';importAMapLoaderfrom'@amap/amap-jsapi-loader';import{message}from'ant-design-vue';importschoolfrom'@/assets/icons/school......
  • Flink API
    Flink中的API#Flink为流式/批式处理应用程序的开发提供了不同级别的抽象。ProgramminglevelsofabstractionFlinkAPI最底层的抽象为有状态实时流处理。其抽象实现是ProcessFunction,并且ProcessFunction被Flink框架集成到了DataStreamAPI中来为我们使用。它允......