【问答系列】如何对后端返回的json格式化输出并且高亮代码

简介: 【问答系列】如何对后端返回的json格式化输出并且高亮代码

一、问题:后端返回的json没有格式化,想格式化高亮该json并在网页中显示它

最近有同学问我这个问题:

他的问题就是,后端返回的json没有格式化,想格式化高亮该json并在网页中显示它。

下面的是后端返回的json,没有做任何处理:

就像这样,期望的效果:

即左侧是希望看到的效果,右侧是格式化了但是没有代码高亮的效果。

所以以上就需要分2步来解决:1、格式化输出 2、代码高亮

二、json格式化输出的方法

如果你有一个未格式化的 JSON 字符串,并且想使用 JavaScript 来格式化和美化它,你可以使用内置的 JSON 对象的 stringify() 方法。这个方法接受一个JSON对象并将其转换成格式化后的字符串。

以下是使用 JavaScript 格式化美化 JSON 的示例代码:

// 未格式化的 JSON 字符串
var unformattedJson = '{"name":"John","age":30,"city":"New York"}';
// 将 JSON 字符串解析为对象
var jsonObject = JSON.parse(unformattedJson);
// 将对象转换为格式化后的 JSON 字符串
var formattedJson = JSON.stringify(jsonObject, null, 2);
console.log(formattedJson);

打印输出的结果即为:

代码解读:

JSON.stringify(jsonObject, null, 2);

  1. 第一个参数表示需要格式化的JSON对象(非字符串)
  2. 第二个参数是一个可选的替代函数,用于过滤和修改对象属性的值。在这个示例中,我们传递了 null,表示不进行任何替代操作
  3. 第三个参数是一个可选的空格参数,用于指定缩进的空格数量或缩进字符串。在示例中,我们传递了 2,表示每级缩进两个空格。

这样就实现了json格式化输出。接着我们来解决第二个问题,即给代码高亮着色。

三、给代码高亮着色

高亮代码其实有很多种第三方库,常用的有highlight.jsPrism.js等。用法大同小异,接下来就以后面的这个库为例看看怎么使用。

直接在网页中使用:

<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs/themes/prism.css" />
</head>
<body>
  <pre>
    <code class="language-javascript">
    {
      "name": "John",
      "age": 30,
      "city": "New York"
    }
    </code>
  </pre>
  <script src="https://cdn.jsdelivr.net/npm/prismjs/prism.js"></script>
</body>
</html>

你将上面的代码复制到本地html,打开即可看到效果。

上面的jscss引用的是外部的cdn,如果你想让JS文件跟着你的项目走,你也可以直接打开以上链接,然后将其另存为保存到和html同一级目录,记得改下路径为相对路径。

如果你要将高亮使用到前端工程项目中,即通过npm的方式来使用,它也提供了对应的方式。

具体可参考其官网:https://prismjs.com/

如果你在web前端开发、面试、前端学习路线有困难可以加我V:imqdcnn。免费答疑,行业深潜多年的技术牛人帮你解决bug。

祝你能成为一名优秀的WEB前端开发工程师!

相关文章
|
4月前
|
JavaScript 前端开发 编译器
10min代码快速熟悉Tsconfig.json配置文件
【8月更文挑战第16天】10min代码快速熟悉Tsconfig.json配置文件
125 2
|
1月前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
71 3
|
2月前
|
机器学习/深度学习 PyTorch 算法框架/工具
揭秘深度学习中的微调难题:如何运用弹性权重巩固(EWC)策略巧妙应对灾难性遗忘,附带实战代码详解助你轻松掌握技巧
【10月更文挑战第1天】深度学习中,模型微调虽能提升性能,但常导致“灾难性遗忘”,即模型在新任务上训练后遗忘旧知识。本文介绍弹性权重巩固(EWC)方法,通过在损失函数中加入正则项来惩罚对重要参数的更改,从而缓解此问题。提供了一个基于PyTorch的实现示例,展示如何在训练过程中引入EWC损失,适用于终身学习和在线学习等场景。
128 4
揭秘深度学习中的微调难题:如何运用弹性权重巩固(EWC)策略巧妙应对灾难性遗忘,附带实战代码详解助你轻松掌握技巧
|
1月前
|
数据库 开发者
后端开发的哲学:代码与人生的交织
在数字化的时代,后端开发不仅仅是技术的堆砌,它更像是一场深刻的人生修炼。本文将探讨后端开发中蕴含的哲理,以及这些哲理如何影响我们的职业生涯和人生观。我们将从代码的本质出发,逐步深入到人生的意义,最终理解为何“你必须成为你希望在世界上看到的改变。”
|
3月前
|
XML JSON 前端开发
json字符串CSS格式化
完成以上步骤后,你便能在网页中看到格式化后的JSON数据,它们将按照CSS定义的样式进行展示,使数据更易于阅读和理解。通过有效地结合JSON和CSS,你可以创建出更加丰富且易于交互的网页内容。
212 64
|
2月前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
【10月更文挑战第8天】本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
43 5
|
2月前
|
JSON API 数据格式
低代码实现鸿蒙API返回JSON转TS及快速生成ArkUI代码
低代码实现鸿蒙API返回JSON转TS及快速生成ArkUI代码
56 0
低代码实现鸿蒙API返回JSON转TS及快速生成ArkUI代码
|
2月前
|
前端开发 Java
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
文章介绍了如何使用SpringBoot创建简单的后端服务器来处理HTTP请求,包括建立连接、编写Controller处理请求,并返回响应给前端或网址。
60 0
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
|
2月前
|
JSON JavaScript 前端开发
js如何格式化一个JSON对象?
js如何格式化一个JSON对象?
110 3
|
2月前
|
存储 数据管理 API
零代码能力:轻松搞定表单和API接口,少写80%后端代码,内含资源
小白接口(果创云 YesApi.cn)是一个零代码和低代码开发平台,提供一站式后端云服务,帮助开发者、学生、业余爱好者、工作室、中小企业及无IT技术人员的传统企业快速搭建应用、接口、服务和网站。平台提供500+免费API接口,支持在线API开发、在线表单、数据库管理、图片文件存储、会员管理等功能,无需后端开发经验,轻松实现数据处理和应用开发。

热门文章

最新文章

下一篇
DataWorks