vue使用vue-json-viewer展示JSON数据的详细步骤

目录
  • 1.下载
  • 2.引入并全局注册
  • 3.组件内使用
  • 4.一点使用技巧、心得
  • 5.修改编辑的样式,使其符合项目需求
  • 总结

1.下载

npm下载:

// Vue2
npm install vue-json-viewer@2 --save
// Vue3
npm install vue-json-viewer@3 --save

yarn下载:

// Vue2
yarn add vue-json-viewer@2
// Vue3
yarn add vue-json-viewer@3 

2.引入并全局注册

在main.js(入口文件里面)

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

3.组件内使用

jsonData就是你想要渲染的数据

<json-viewer :value="jsonData"></json-viewer>

假数据供测试效果: 

data(){
    return {
        jsonData:{
        name:"小明",
        age:18,
        items:{
            like:"pingpang",
            skip:0
                }
             }
        }
}

效果图: 

4.一点使用技巧、心得

在使用类似插件的时候,先写假数据,如果能正常渲染,那就将后端的数据处理成假数据一样的格式。

另外,前端处理JSON数据一般使用JSON.parse()、eval()或者JSON.stringify()方法,要注意的是他们对格式的要求极其严格,如果你的数据格式不对,就会报错。相对来说我个人比较保险的做法是:先JSON.parse(JSON.stringify())然后再JSON.parse()。

ps:JSON.stringify()序列化为JSON字符串;

JSON.parse()j解析为javascript对象

补充:设置编辑器的样式使其风格适用于项目 

5.修改编辑的样式,使其符合项目需求

第一步,在组件加一个属性

 theme="my-awesome-json-theme"
         <json-viewer
              v-for="(ite, idx) in finallyJsonList"
              :key="idx"
              style="width: 100%; min-width: 3.125rem"
              :value="ite"
              :expand-depth="5"
              copyable
              boxed
              theme="my-awesome-json-theme"
              sort
            ></json-viewer>

第二步,在这个类名里面写样式了

需要注意的是,这个编辑器完全可以使用浏览器F12查看元素的类名去改,和我们平时开发没啥区别,还是挺方便的。

.my-awesome-json-theme {
  overflow-x: hidden;
  background: #0c2b52;
  white-space: nowrap;
  color: #01fef4;
  font-size: 14px;
  font-family: Consolas, Menlo, Courier, monospace;

  .jv-ellipsis {
    color: rgb(237, 13, 13);
    background-color: rgb(241, 11, 11);
    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;
  }
  ::v-deep .jv-key {
    color: #01fef4 !important;
  }
  ::v-deep .jv-push {
    color: #fff;
  }
  .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 {
    ::v-deep .jv-toggle {
      color: #067bca !important;
      &:before {
        padding: 0px 2px;
        border-radius: 2px;
      }
      &:hover {
        &:before {
          background: rgb(242, 5, 5);
        }
      }
    }
  }
}

总结

到此这篇关于vue使用vue-json-viewer展示JSON数据的文章就介绍到这了,更多相关vue-json-viewer展示JSON数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Vue中使用JsonView来展示Json树的实例代码

    前两天干活儿有个需求,在前端需要展示可折叠的Json树,供开发人员查看,这里采用JsonView组件来实现,它是一款用于展示Json的Vue组件,支持大体积的Json文件快速解析渲染,下面记录一下实现过程. 1.首先先下载好JsonView的组件:JsonView.vue,组件代码如下: <template> <div class="bgView"> <div :class="['json-view', length ? 'closeable'

  • Vue中使用Echarts仪表盘展示实时数据的实现

    在vue中echarts仪表盘实时数据 彩笔一枚,简单记录一下. 业务场景:通过websocket实时推送数据,将数据渲染到仪表盘中. 第一步: 基于准备好的dom,初始化echarts仪表盘实例. 第二步: 我是通过父子组件传值把数据接收过来,在data中定义upPressure参数,并将接收来的devicePressure参数赋值给它,便于后面将值传入到echarts中 父组件中 <div class="chart" shadow="always">

  • vue相关配置文件详解及多环境配置详细步骤

    1.package.json 作用: package.json 文件其实就是对项目或者模块包的描述,里面包含许多元信息.比如项目名称,项目版本,项目执行入口文件,项目贡献者等等.npm install 命令会根据这个文件下载所有依赖模块. 文件结构如下: { "name": "sop-vue", "version": "0.1.0", "author": "zhangsan <zhangsa

  • vue使用vue-json-viewer展示JSON数据的详细步骤

    目录 1.下载 2.引入并全局注册 3.组件内使用 4.一点使用技巧.心得 5.修改编辑的样式,使其符合项目需求 总结 1.下载 npm下载: // Vue2 npm install vue-json-viewer@2 --save // Vue3 npm install vue-json-viewer@3 --save yarn下载: // Vue2 yarn add vue-json-viewer@2 // Vue3 yarn add vue-json-viewer@3 2.引入并全局注册

  • Java解析照片拿到GPS位置数据的详细步骤

    目录 1.前提条件 2.代码环境 Java代码逐步解析照片拿到GPS位置数据,附上步骤讲解,附上源代码和jar包依赖 1.前提条件 第一,检查你图片是否是高清原图:第二,检查你的图片是否来自IPhone设备;第三,检查你拍照片时,是否打开了GPS:三者缺一不可 2.代码环境 A:需要的Jar包: <dependency> <groupId>com.drewnoakes</groupId> <artifactId>metadata-extractor</

  • vue+Minio实现多文件进度上传的详细步骤

    目录 背景 实现方案 了解一下Mino 实现步骤 1.创建存储桶 2.选择文件 3.创建上传队列 4.开始上传 5上传完成后,同步文件地址给后端 6.删除文件 完整代码 源码分享 总结 背景 最近突然接到了一个产品的需求,有点特别,在这里给大家分享一下,需求如下 提交表单,同时要上传模型资源 模型文件是大文件,要显示上传进度,同时可以删除 模型文件要上传到服务器,表单数据同步到数据库 同时要同步上传后的模型地址到数据库 后端使用Minio做文件管理 设计图如下 一开始以为是一个简单的表单上传,发

  • 用javascript实现无刷新更新数据的详细步骤 asp

    程序设计中会经常碰到一种情况,就是事先无法得知用户会需要哪些数据,必须根据用户选择后再从服务器重新提取数据后反馈给用户.比如一简单的情况,用户选择省份以后,我们立即会在市里边将这个省的所有市重新显示出来.这种情况一般需要将整个页面刷新后才可以重新读取,但这样不仅效率不高外,也显得不太优雅.其实用javascript结合微软件的XMLHTTP对象,我们可以不用刷新,"稍稍"的就可以将数据从服务器上读取出来,显得既专业,又高效. 下面我们就以一个验证用户是否被注册的情况来演示这种技术. 

  • MySQL数据库通过Binlog恢复数据的详细步骤

    目录 Mysql Binlog 简介 开启Binlog 使用Binlog恢复数据 附录 总结 Mysql Binlog 简介 Mysql Binlog是二进制格式的日志文件Binlog是用来记录Mysql内部对数据库的改动(只记录对数据的修改操作),主要用于数据库的主从复制以及增量恢复 开启Binlog 查看是否打开了Binlog [ON表示已经打开 OFF表示关闭 默认关闭状态] show variables like ‘%log_bin%’; 开启Binlog [修改完以后重启服务] 方法1

  • Mysql通过ibd文件恢复数据的详细步骤

    恢复步骤 1.创建数据库(随意创建) 2.创建数据表(备注:表结构要和要恢复的表结构一致,row_format要和ibd文件的row_format一致,否则,会提示两者不一致. 当前row_format=dynamic) 3.表的属性查看 我们使用:show table status like ‘matlab’\G,查看表的属性 备注:创建表时候的row_format和表属性的不一致,基于innodb是,要把row_format设置成dynamic时,需要修改mysql的全局配置,直接在myql

  • ORACLE大批量插入数据的详细步骤

    目录 尝试了一下几种方式: 一.关闭日志,数据追加模式 二:PARALLEL模式(并行进程数要谨慎 ) 总结 最近有几张表随着时间不断的增长,表中的数据量也越来越大,想把原来的表改成分区表,需要两个步骤: 一:建立分区表 二:把源表的数据迁移到分区表中 但是源表的数据量是1亿的数据量,按照最普遍的方式 INSERT INTO 效率太低了 尝试了一下几种方式: 一.关闭日志,数据追加模式 1.关闭表日志功能 ALTER  TABLE  TABLE_NAME  NOLOGGING; comments

随机推荐