首页 > 其他分享 >Utf8JsonWriter生成json

Utf8JsonWriter生成json

时间:2024-09-14 15:39:56浏览次数:14  
标签:Utf8JsonWriter jsonWriter Value 生成 json WriteEndObject var healthReportEntry Wri

 private static Task WriteResponse(HttpContext context, HealthReport healthReport)
 {
     context.Response.ContentType = "application/json; charset=utf-8";

     var options = new JsonWriterOptions { Indented = true };

     using var memoryStream = new MemoryStream();
     using (var jsonWriter = new Utf8JsonWriter(memoryStream, options))
     {
         jsonWriter.WriteStartObject();
         jsonWriter.WriteString("status", healthReport.Status.ToString());
         jsonWriter.WriteStartObject("results");

         foreach (var healthReportEntry in healthReport.Entries)
         {
             jsonWriter.WriteStartObject(healthReportEntry.Key);
             jsonWriter.WriteString("status",healthReportEntry.Value.Status.ToString());
             jsonWriter.WriteString("description",healthReportEntry.Value.Description);
             jsonWriter.WriteStartObject("data");

             foreach (var item in healthReportEntry.Value.Data)
             {
                 jsonWriter.WritePropertyName(item.Key);

                 JsonSerializer.Serialize(jsonWriter, item.Value,
                     item.Value?.GetType() ?? typeof(object));
             }

             jsonWriter.WriteEndObject();
             jsonWriter.WriteEndObject();
         }

         jsonWriter.WriteEndObject();
         jsonWriter.WriteEndObject();
     }

     return context.Response.WriteAsync(Encoding.UTF8.GetString(memoryStream.ToArray()));
 }

标签:Utf8JsonWriter,jsonWriter,Value,生成,json,WriteEndObject,var,healthReportEntry,Wri
From: https://www.cnblogs.com/readafterme/p/18414124

相关文章

  • android 删除系统原有的debug.keystore,系统运行的时候,重新生成新的debug.keystore,来完
    1、先上一个图:这个是keystore无效的原因之前在安装这个旧版本androidstudio的时候呢,安装过一版最新的androidstudio,然后通过模拟器跑过测试的demo。2、运行旧的项目到模拟器的时候,就报错了:Executionfailedfortask':app:packageDebug'.>Afailureoccurredwhilee......
  • 验证码图片生成 hutool-captcha
    一、使用的依赖此处需要引入的依赖hutool-captcha:<!--获取图形验证码--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-captcha</artifactId><version>5.8.18</version></dependency>注:hutool-captcha已经包含......
  • 专业角度深入讲解:大模型备案(生成式人工智能)
    一、什么是大模型备案?大模型备案是指大模型产品在向公众开放及商用之前,经过国家互联网信息办公室(简称“网信办”)等监管部门的备案审批过程。 是为加强生成式人工智能服务的合规管理,通过备案制度,促进人工智能技术的健康发展,建立起一个既安全又可靠的人工智能服务体系,为公众提供高......
  • C# jsonconvert and binaryformater both in serialize and deserialize
    publicDelCmdExportAllCmd{get;set;}publicDelCmdExportAllBinaryFormatterCmd{get;set;}publicDelCmdDeserializeJsonFileCmd{get;set;}publicDelCmdDeserializeBinFileCmd{get;set;}privatevoidInitCmds(){ExportAllCmd=newDelC......
  • PbootCMS模板自动生成当前页面二维码
    在PBootCMS中,qrcode 标签用于生成对应文本的二维码图片。这对于产品列表页或详情页为每个产品生成二维码非常有用。以下是详细的使用说明和示例代码。1. qrcode 标签的基本用法参数说明string=*:指定生成二维码的文本内容。2.示例代码生成产品详情页的二维码假设你需......
  • 程序员的 AI 启蒙:ChatGPT+ Copilot开发Vue3 仿简书项目 90%代码AI生成
    在人工智能技术日益成熟的今天,程序员们正在迎来一场全新的编程革命。ChatGPT和Copilot等AI工具的出现,让代码生成不再是遥不可及的梦想。本文将带你体验如何利用这些先进技术,仅用90%的代码量,开发出一个基于Vue3的仿简书项目,感受AI在编程领域的革新力量。一、引言ChatGPT和C......
  • 最小生成树
    最小生成树最小生成树(英语:Minimumspanningtree,简称MST)是指在无向带权图中选择一些边,在保证连通性的情况下,边的总权值最小最小生成树不唯一如果无向带权图有n个点,最小生成树一定有n-1条边P3366【模板】最小生成树Kruskal算法把所有的边,根据权值从小到大排......
  • package.json依赖包漏洞之tough-cookie原型污染漏洞
    背景有个安全扫描的流水线,扫描了我负责的项目之后,发现一些漏洞。需要说明的是,这个扫描只是针对package.json文件,扫的是依赖树,而不是项目源代码,也不是build打包后的代码。这些正是我们提升项目安全性的宝贵机会。让我们一起来看看这些发现,并学习如何将它们转化为我们的优势。 ......
  • MemLong: 基于记忆增强检索的长文本LLM生成方法
    本文将介绍MemLong,这是一种创新的长文本语言模型生成方法。MemLong通过整合外部检索器来增强模型处理长上下文的能力,从而显著提升了大型语言模型(LLM)在长文本处理任务中的表现。核心概念MemLong的设计理念主要包括以下几点:高效扩展LLM上下文窗口的轻量级方法。利用不可训练的......
  • PbootCMS生成的sitemap.xml中增加tag标签链接
    打开/apps/home/model/SitemapModel.php,在78行后面增加个指定分类标签调用代码//指定分类标签调用publicfunctiongetSortTags($scode){$join=array(array('ay_content_sortb','a.scode=b.scode','LEFT'......