vue 使用vue-json-viewer 展示 JSON 格式数据

news2024/9/20 0:56:15

vue 使用vue-json-viewer 展示 JSON 格式数据

  • 1、安装 vue-json-viewer插件
  • 2、引入插件并注册
    • 2.1 全局注册组件
    • 2.2 单个页面局部引入
  • 3、插件的基础使用
  • 4、插件可选配置说明
    • 4.1 选项
  • 4.2 事件
  • 4.3 Slots
  • 4.4 主题
  • 5、实现效果

1、安装 vue-json-viewer插件

npm install vue-json-viewer --save

2、引入插件并注册

官网地址: https://www.npmjs.com/package/vue-json-viewer

2.1 全局注册组件

在全局 main.js 中引入,在 main.js 文件中添加:

import JsonViewer from 'vue-json-viewer'
Vue.use(JsonViewer)

2.2 单个页面局部引入

import JsonViewer from 'vue-json-viewer'
export default {
   components:{ JsonViewer }
}

3、插件的基础使用

    <json-viewer
      :value="JSON.parse(jsonStr)"
      :expand-depth="5"
      boxed
      sort
      :show-array-index="false"
      copyable
    >
      <template slot="copy">
        <i class="el-icon-document-copy" title="复制"></i>
      </template>
    </json-viewer>
....
data(){
    return{
        jsonStr:"{\r\n    \"success\": true,\r\n    \"code\": 200,\r\n    \"msg\": \"操作成功\",\r\n    \"data\": \"\"\r\n}"
    }
}

4、插件可选配置说明

4.1 选项

属性描述默认值
valuejson对象的值,可以使用v-model,支持响应式必填
expand-depth默认展开的层级1
copyable展示复制按钮,默认文案为:copy、copied!, 你可以设置一个对象{copyText: ‘copy’, copiedText: ‘copied’} 来自定义复制按钮文案false
sort按照key排序展示false
boxed为组件添加一个盒样式false
theme添加一个自定义的样式class用作主题 jv-light
expanded默认展开视图false
timeformat自定义时间格式函数time => time.toLocaleString()
preview-mode不可折叠模式,默认全部展开alse
show-array-index是否显示数组索引true
show-double-quotes展示key双引号false

4.2 事件

事件描述
copied复制文本后的事件
keyclick点击key的事件

4.3 Slots

名称描述Scope
copy自定义拷贝按钮{copied: boolean}

4.4 主题

有两个办法创建自定义主题, (e.g. my-awesome-json-theme):

  1. 添加 theme=“my-awesome-json-theme” JsonViewer的组件属性
  2. 添加 theme=“my-awesome-json-theme” JsonViewer的组件属性
// values are default one from jv-light template
.my-awesome-json-theme {
  background: #fff;
  white-space: nowrap;
  color: #525252;
  font-size: 14px;
  font-family: Consolas, Menlo, Courier, monospace;

  .jv-ellipsis {
    color: #999;
    background-color: #eee;
    display: inline-block;
    line-height: 0.9;
    font-size: 0.9em;
    padding: 0px 4px 2px 4px;
    border-radius: 3px;
    vertical-align: 2px;
    cursor: pointer;
    user-select: none;
  }
  .jv-button { color: #49b3ff }
  .jv-key { color: #111111 }
  .jv-item {
    &.jv-array { color: #111111 }
    &.jv-boolean { color: #fc1e70 }
    &.jv-function { color: #067bca }
    &.jv-number { color: #fc1e70 }
    &.jv-number-float { color: #fc1e70 }
    &.jv-number-integer { color: #fc1e70 }
    &.jv-object { color: #111111 }
    &.jv-undefined { color: #e08331 }
    &.jv-string {
      color: #42b983;
      word-break: break-word;
      white-space: normal;
    }
  }
  .jv-code {
    .jv-toggle {
      &:before {
        padding: 0px 2px;
        border-radius: 2px;
      }
      &:hover {
        &:before {
          background: #eee;
        }
      }
    }
  }
}

5、实现效果

在这里插入图片描述

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

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

相关文章

小米新财报:手机承压,转型求生

配图来自Canva可画 近期&#xff0c;国内各互联网大厂、科技公司、电商平台、内容社区等均陆续发布了2023年第一季度财报。在疫情消退、经济回暖的当下&#xff0c;还是有不少企业交出了一份不错的答卷。而国内知名的科技公司——小米集团&#xff0c;由于业务覆盖范围广泛、产…

【线程池】线程池的7种创建方式,详细讲解

文章目录 一、什么是线程池&#xff1f;二、线程池的分类三、线程池的使用四、ThreadPoolExecutor详解 一、什么是线程池&#xff1f; 线程池&#xff08;ThreadPool&#xff09;是一种基于池化思想管理和使用线程的机制。它是将多个线程预先存储在一个“池子”内&#xff0c;…

(哈希表 ) 454. 四数相加 II ——【Leetcode每日一题】

❓454. 四数相加 II 难度&#xff1a;中等 给你四个整数数组 nums1、nums2、nums3 和 nums4 &#xff0c;数组长度都是 n &#xff0c;请你计算有多少个元组 (i, j, k, l) 能满足&#xff1a; 0 < i, j, k, l < nnums1[i] nums2[j] nums3[k] nums4[l] 0 示例 1&a…

如何在多个端口上运行 SSH 服务器?

SSH&#xff08;Secure Shell&#xff09;是一种用于安全远程访问和管理服务器的协议。默认情况下&#xff0c;SSH服务器在Linux系统上使用22号端口进行通信。但是&#xff0c;有时我们可能需要在多个端口上运行SSH服务器&#xff0c;以满足特定的需求或增强服务器的安全性。 本…

Hexo+Twikoo+Vercel 个人博客开启评论功能

Twikoo 文档&#xff1a;https://twikoo.js.org/quick-start.html MongoDB 数据库 点击链接 https://www.mongodb.com/cloud/atlas/register 进入 MongoDB 官网使用邮箱进行注册&#xff1a; 注册之后&#xff0c;MongoDB 会向邮箱发送一封验证邮件&#xff1a; 进入邮箱&…

如何在 Linux 中进行网络地址转换 (NAT)?

网络地址转换&#xff08;Network Address Translation&#xff0c;简称NAT&#xff09;是一种在网络中使用的技术&#xff0c;它允许将私有网络中的IP地址映射到公共网络上&#xff0c;从而实现多个设备共享单个公共IP地址。在Linux系统中&#xff0c;我们可以使用一些工具和配…

实体店引流获客系统模式开发详解

随着互联网的日益发展&#xff0c;实体店的处境变得越来越艰难&#xff0c;获客难和销量差成为了实体店最头疼的两大问题。面对这种情况&#xff0c;一味固步自封是不行的&#xff0c;最好还是顺应潮流&#xff0c;结合一款合适的商业模式&#xff0c;来帮助自己快速引流获客和…

䲟鱼优化算法(ROA)(含MATLAB代码)

先做一个声明&#xff1a;文章是由我的个人公众号中的推送直接复制粘贴而来&#xff0c;因此对智能优化算法感兴趣的朋友&#xff0c;可关注我的个人公众号&#xff1a;启发式算法讨论。我会不定期在公众号里分享不同的智能优化算法&#xff0c;经典的&#xff0c;或者是近几年…

接口测试--apipost接口断言详解

在做接口测试的时候&#xff0c;会对接口进行断言&#xff0c;一个完整的接口测试&#xff0c;包括&#xff1a;请求->获取响应正文->断言。 一、apipost如何进行断言 apipost的断言设置实在后执行脚本中进行编写的。apipost本身提供了11中断言&#xff1a; apt.asser…

经济学基本思维方式

经济学定义 人的欲望是无止境的&#xff0c;而资源有限&#xff0c;这是一个矛盾。 经济学是研究个人和社会如何最优利用由自然和前人提供的有限资源的学问。 经济学的范围 Microeconomics 微观经济学 研究各个行业的运作的以及企业和个人的决策行为的经济学分支。Macroeco…

数据门户基础课程

PC端门户使用示例 首先,以管理员身份登录FineBI系统,安装数据门户,安装步骤见官网 新建一个数据门户

7. Linux系统下在桌面设置添加安装软件启动图标快捷方式

1. 说明 在Linux系统下安装了对应的软件之后&#xff0c;一般启动时需要在命令行终端中进行启动&#xff0c;可以在终端里设置快速启动的命令&#xff0c;相关设置可参考博客&#xff1a;Linux系统下在终端设置快速启动已安装软件。 另一种快捷启动方式就是像在Windows桌面系统…

git报错Filename too long

描述 碰见一个小小问题&#xff0c;Git在拉代码的时候提示Filename too long&#xff0c;具体如图 刚开始&#xff0c;一开始我是使用git自带的那个工具有问题了&#xff0c;然后我就下载了一个tortoisegit&#xff0c;结果还是有问题&#xff0c;这可是22G文件&#xff0c;我…

printf打印彩色字符,还能闪烁!

在使用linux终端命令的时候&#xff0c;我们可以看到像more命令&#xff0c;它的显示方式与一般的字符串不同&#xff0c;是用了反显。同样&#xff0c;linux C下printf还有很多其他不常见的格式化输出形式。本文主要为你盘点这些形式。 效果展示: 特殊的输出 演示代码: #inc…

每日一练 | 华为认证真题练习Day47

1、某台路由器输出信息如下&#xff0c;下列说法错误的是&#xff1f;&#xff08;多选&#xff09; A. 本路由器开启了区域认证 B. 本设备出现故障&#xff0c;配置的Router Id和实际生效的Router ID不一致 C. 本设备生效的Router Id为10.0.12.1 D. 本设备生效的Router Id为…

渗透测试工具Burpsuite

学习文档 https://portswigger.net/burp/documentation/desktop/getting-started/download-and-install Burp Suite是一款流行的集成式Web应用程序安全测试工具套件&#xff0c;广泛应用于渗透测试、安全审计、黑盒测试和漏洞研究等Web安全领域。它由PortSwigger公司开发&…

工具-Ditto与X mouse Button,自定义热键复制粘贴Ctrl C /V,解放双手

文章目录 1、使用演示2、使用方法3、更新&#xff0c;鼠标一键实现复制粘贴3.1 使用方法 1、使用演示 不需要同时摁下ctrl c /v 就可以在键盘上实现一键复制粘贴&#xff0c;其实去网上有外接的键盘&#xff0c;大概20元左右&#xff0c;外接键盘只有两个摁键&#xff0c;就是…

一文解决OpenCloudOS 如何基于 eBPF 实现容器级别的TCP 连接监控?

导语&#xff1a;eBPF 技术的出现&#xff0c;使得内核的资源监控更加的便捷、高效&#xff0c;容器化监控也更加适用于云原生的场景。基于 eBPF 实现的可观测性&#xff0c;可以无需修改内核源码或者加载内核模块&#xff0c;安全高效的扩展内核功能&#xff0c;很好的解决了上…

11.1.0 Web 打印新支持 UGC 布局模板

作者&#xff1a;yx 目录 前言 一、在iDesktopX制作布局并输出布局模板 二、将布局模板拷贝到iServer 三、构建Web打印内容 四、结果展示 前言 之前有小伙伴希望 iServer 的 Web 打印布局可以采用 iDesktop/iDesktopX 输出的布局模板&#xff0c;针对该需求11.1.0版本做了…

基于标准库函数的STM32的freertos的移植(二)——freertos工程源码移植

1.新建Project_Stm32f407的文件夹&#xff0c;如下图所示&#xff1a; 图1 新建Project_Stm32f407的文件夹 2.在Project_Stm32f407的目录下新建7个子目录&#xff08;分别新建cmsis、include、source、fwlib、user、mdk和freertos等7个文件夹&#xff09;。 图2 新建7个文件目录…