数据格式化方法

news2024/9/29 11:42:31

首先你需要一个可以展示代码的组件;

我使用的是tech-ui(内部组件库);

你如果没有类似的组件,可以参考以下链接替代:

react-monaco-editor -- 代码编辑器(适用Umi)_umi monaco editor-CSDN博客

Codemirror -- 代码编辑器(react、umi)_codemiror-CSDN博客

1. JSON数据

import { Highlight } from '@alipay/tech-ui';

const jsonValue = "{\"snapshotId\":\"13390415\",\"paramsOri\":{\"uniqueIdColumn\":\"poduid\",\"jobId\":57,\"featureValueColumns\":[\"configvalue\"],\"nodeId\":\"40684860\",\"srcDataType\":\"keyFlattened\",\"taskId\":\"68_FEATURE_CLEAN_20240321_115334_092\",\"portraitHost\":\"https://portrait.alipay.com\"},\"projectName\":\"trisk_adm\",\"userNumber\":\"074494\"}"

const jsonFormat = (text : string) => {
    if (!text) return '';
    try {
        return JSON.parse(text);
    } catch {
        return text;
    }
}

<Highlight
    language="json"
    copyable={true}
    lineNumber={true}
>
    {jsonFormat(jsonValue)}
</Highlight>

2. SQL数据

第一种 :处理后的数据

import { Highlight } from '@alipay/tech-ui';

const sqlValue = " SELECT  \\n  trisk_adm.mid_qat_sct_baseline_sigma.clustername  , trisk_adm.mid_qat_sct_baseline_sigma.namespace  , trisk_adm.mid_qat_sct_baseline_sigma.configsource  , trisk_adm.mid_qat_sct_baseline_sigma.configkey  \\n \\n FROM trisk_adm.mid_qat_sct_baseline_sigma  \\n WHERE 1=1  AND trisk_adm.mid_qat_sct_baseline_sigma.dt = '20240318' "

const sqlFormat = (text : string) => {
    if (!text) return '';
    return text?.replaceAll('\\n', '\n')
}

<Highlight
    language="sql"
    copyable={true}
    lineNumber={true}
>
    {sqlFormat(sqlValue)}
</Highlight>

第二种 :未处理的数据 (借助sql-formatter插件处理)

pnpm install sql-formatter@12.2.0

import { format } from 'sql-formatter';
import { Highlight } from '@alipay/tech-ui';

const sqlValue = " SELECT   split_part( split_part( aliyun_network.top100_channel_pid_fy_cash_ex_fy.pid, 'd',  4, 1),  'end', 1 , 1 ) as 222   ,  split_part( split_part( aliyun_network.top100_channel_pid_fy_cash_ex_fy.pid, 's',  2, 1),  'd', 1 , 1 ) as 333   ,  split_part( split_part( aliyun_network.top100_channel_pid_fy_cash_ex_fy.pid, '1',  4, 1),  '1', 1 , 1 ) as 111   ,  split_part( split_part( intern_study_dev.a.a1, 'D',  2, 1),  'v', 1 , 1 ) as test1   ,  split_part( split_part( intern_study_dev.a.a1, 'start',  1, 1),  'D', 1 , 1 ) as test2   ,  split_part( split_part( intern_study_dev.a.a1, '拭',  2, 1),  'end', 1 , 1 ) as test3   , null.a.a1  , null.a.item_id  , null.a.key  , null.a.a2  , null.a.a_id  , null.top100_channel_pid_fy_cash_ex_fy.ds  , null.aaa.dds   FROM intern_study_dev.a JOIN intern_study_dev.a ON intern_study_dev.a.a_id = intern_study_dev.a.intern_study_dev.a   JOIN aliyun_network.top100_channel_pid_fy_cash_ex_fy ON crm_data.aaa.dds = aliyun_network.top100_channel_pid_fy_cash_ex_fy.aliyun_network.top100_channel_pid_fy_cash_ex_fy   JOIN aliyun_network.top100_channel_pid_fy_cash_ex_fy ON intern_study_dev.a.a2 = aliyun_network.top100_channel_pid_fy_cash_ex_fy.aliyun_network.top100_channel_pid_fy_cash_ex_fy   JOIN crm_data.aaa ON intern_study_dev.a.key = crm_data.aaa.crm_data.aaa "

const sqlFormat = (text : string) => {
    if (!text) return '';
    try {
      return format(text, {
        expressionWidth: 500,
        paramTypes: {
          custom: [{ regex: String.raw`#\{.+?\}` }],
        },
      });
    } catch (error) {
      return text
    }
}

<Highlight
    language="sql"
    copyable={true}
    lineNumber={true}
>
    {sqlFormat(sqlValue)}
</Highlight>

暂时就接触这两种语言,其他语言后续会更新~~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1538136.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

schweizer-electronic 公司 safedat2 操作使用说明

schweizer-electronic 公司 safedat2 操作使用说明

优质的短效HTTP代理具备什么优点?

随着网络时代的蓬勃发展&#xff0c;数据的获取与处理成为了企业决策和市场竞争的关键。在这场数据的角逐中&#xff0c;优质的短效HTTP代理脱颖而出&#xff0c;备受业界瞩目。优质的短效HTTP代理&#xff0c;提供了稳定的网络连接和匿名性&#xff0c;更为数据采集提供了关键…

css设置div的2个span一个在最左边,一个在最右边

界面&#xff1a; 代码&#xff1a; <html><style>.top span {display: block;position: absolute;margin: 0 20px; /* 添加边距以避免太靠近边缘 */ }.top span:nth-child(1) {left: 5px; /* 调整左侧位置 */ }.top span:nth-child(2) {right: 5px; /* 调整右侧位…

1.6 学Python能干什么,Python的应用领域有哪些

Python能干什么&#xff0c;Python的应用领域 Python 作为一种功能强大的编程语言&#xff0c;因其简单易学而受到很多开发者的青睐。那么&#xff0c;Python 的应用领域有哪些呢&#xff1f; Python 有着非广泛的应用&#xff0c;几乎所有大中型互联网公司都在使用 Python&a…

推荐一款很不错的vscode高亮插件

用过很多款高亮插件&#xff0c;总感觉大部分显示都很乱&#xff0c;但是其中有一款用起来很清晰明了&#xff0c;很喜欢&#xff01; 插件名字&#xff1a;select-highlight-cochineal-color 使用效果&#xff1a; 底色高亮让人感觉很清晰&#xff0c;一个好的高亮插件能让你…

鸿蒙一次开发,多端部署(九)应用市场首页

本小节将以应用市场首页为例&#xff0c;介绍如何使用自适应布局能力和响应式布局能力适配不同尺寸窗口。 页面设计 一个典型的应用市场首页的UX设计如下所示。 观察应用市场首页的页面设计&#xff0c;不同断点下的页面设计有较多相似的地方。 据此&#xff0c;我们可以将页…

2024蓝桥杯每日一题(单调队列)

备战2024年蓝桥杯 -- 每日一题 Python大学A组 试题一&#xff1a;单调栈 试题二&#xff1a;滑动窗口 试题三&#xff1a;子矩阵 试题四&#xff1a;最大子序和 试题一&#xff1a;单调栈 【题目描述】 给定一个长度为 N 的整数数列&#xff0c;输出每…

怿星科技Neptune CHT-S测试系统,让智能座舱测试更加高效便捷

随着汽车“智能化”浪潮的推进&#xff0c;汽车的智能化水平正在持续刷新行业认知。在这股智能化潮流中&#xff0c;智能座舱作为客户体验最为直观的部分&#xff0c;其重要性不言而喻。倘若座舱设备出现死机、黑屏、卡顿等现象&#xff0c;都将对客户的使用体验产生非常大的影…

Python Flask 表单的使用

新建templ;ates/index.html 内容如下 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body> <form action"">账号&#xff1a;<input …

Flutter Widget:StatefulWidgetStatelessWidgetState

Widget 概念 Widget 将是构建Flutter应用的基石&#xff0c;在Flutter开发中几乎所有的对象都是一个 Widget 。 在Flutter中的widget 不仅表示UI元素&#xff0c;也表示一些功能性的组件&#xff0c;如&#xff1a;手势 、主题Theme 等。而原生开发中的控件通常只是指UI元素。…

[Rust] 使用vscode实现HelloWorld程序并进行debug

一、简介 本文介绍了如何使用vscode编写rust&#xff0c;实现打印"Hello, world!"的程序。 二、工具安装 0. 环境介绍&#xff1a; Linux &#xff08;或者windowswsl&#xff09; 1. 安装rust编译器rustc和包管理器cargo。 请参考连接&#xff1a;Rust 程序设…

Skywalking的Helm Chart方式部署

背景 之前介绍了AWS云上面的EKS的集中日志方案。这次主要介绍调用链监控了&#xff0c;这里我们用的是Skywalking。监控三王者&#xff08;EFKPrometheusSkywalking&#xff09;之一。之前AWS云上面使用fluent bit替代EFK方案&#xff0c;其实&#xff0c;AWS云在调用链方面&a…

1Panel应用推荐:DataEase开源数据可视化分析工具

1Panel&#xff08;github.com/1Panel-dev/1Panel&#xff09;是一款现代化、开源的Linux服务器运维管理面板&#xff0c;它致力于通过开源的方式&#xff0c;帮助用户简化建站与运维管理流程。为了方便广大用户快捷安装部署相关软件应用&#xff0c;1Panel特别开通应用商店&am…

查看Scala类的方法

文章目录 一、概述如何查看Scala类的方法二、使用Scala文档查看类的方法三、使用反射机制查看类的方法 一、概述如何查看Scala类的方法 本文介绍了在Scala中查看Int类方法的两种方法&#xff1a;使用Scala标准库文档和使用反射机制。通过Scala标准库文档&#xff0c;您可以方便…

Qt 项目使用visual studio 进行开发调试

https://marketplace.visualstudio.com/items?itemNameTheQtCompany.QtVisualStudioTools2015 https://devblogs.microsoft.com/cppblog/bring-your-existing-qt-projects-to-visual-studio/ 正常Qt开发中&#xff0c;使用Qt Creator 进行windows下MSVC编译器的调试是一件挺麻…

jenkins构建完成后部署到本机,无法读取容器外文件夹

项目背景&#xff1a; Dockerjenkins 构建完成后&#xff0c;要把打包的dist文件夹内容移动到网站目录 /www/wwwroot/xxxxxx 文件夹下&#xff1b;但是获取不到jenkins容器外的文件夹。 解决办法&#xff1a; 在容器中&#xff0c;添加挂载/映射本机目录&#xff0c;把网站…

【C语言_数组_复习篇】

目录 一、数组的概念 二、数组的类型 三、一维数组 3.1 一维数组的创建 3.2 一维数组的初始化 3.3 一维数组的访问 3.4 一维数组在内存中的存储 四、二维数组 4.1 二维数组的创建 4.2 二维数组的初始化 4.3 二维数组的访问 4.4 二维数组在内存中的存储 五、变长数组 六、…

大数据主要组件HDFS Iceberg Hadoop spark介绍

HDFSIceberghadoopspark HDFS 面向PB级数据存储的分布式文件系统&#xff0c;可以存储任意类型与格式的数据文件&#xff0c;包括结构化的数据以及非结构化的数据。HDFS将导入的大数据文件切割成小数据块&#xff0c;均匀分布到服务器集群中的各个节点&#xff0c;并且每个数据…

R语言:vagen包做微生物香农指数分析,ggplot2画箱线图

> setwd("目录路径") > library(vegan) > library(picante) > library(openxlsx) > library(ggplot2) > library(ggsci) > otu <- read.xlsx("OTU.xlsx",rowNames T) > head(otu)T1 T2 T3 T5 T6 T8 T9 N…

瑞_23种设计模式_状态模式

文章目录 1 状态模式&#xff08;State Pattern&#xff09;1.1 介绍1.2 概述1.3 状态模式的结构1.4 状态模式的优缺点1.5 状态模式的使用场景 2 案例一2.1 需求2.2 代码实现&#xff08;未使用状态模式&#xff09;2.3 代码实现&#xff08;状态模式&#xff09; 3 案例二3.1 …