如何使用vue-json-viewer插件展示JSON格式数据

 更新时间:2023年11月09日 10:38:35   作者:*且听风吟  
这篇文章主要给大家介绍了关于如何使用vue-json-viewer插件展示JSON格式数据的相关资料,Vue-json-viewer是一个Vue组件,用于在Vue应用中显示JSON数据的可视化工具,需要的朋友可以参考下

1、下载 vue-json-viewer

npm 下载 vue-json-viewer :

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

yarn 下载 vue-json-viewer :

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

2、引入插件并注册

引入插件有两种方式:可以全局引入,也可以在单个页面文件中引入该插件。

2.1、全局注册组件

如果在全局 main.js 中引入,那么全局可用,无需在单独页面的 components 中注入 JsonViewer,可直接调用组件。具体实现:

在 main.js 文件中添加:

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

2.2、局部引入

如果在单页面中只需要引入 import JsonViewer from 'vue-json-viewer' ,然后在 components 中注入 JsonViewer 组件,即可正常使用。

具体实现:

// vue单页面文件中引入
<script>
    // 引入组件
    import JsonViewer from 'vue-json-viewer'
    export default {
          // 注册组件
          components:{
              JsonViewer
          }
    }
</script>

3、封装组件 JsonView

新建 JsonView.vue 文件:

<template>
  <div>
    <div v-show="showJson">
      <vue-json-viewer :value="jsonData" :expand-depth="expand"></vue-json-viewer>
    </div>
    <div v-show="!showJson">
      {{data}}
    </div>
  </div>
</template>

<script>
import vueJsonViewer from 'vue-json-viewer'

export default {
  name: '',
  data () {
    return {
      jsonData: this.data
    }
  },

  components: {
    vueJsonViewer
  },
  props: {
    showJson: {
      type: Boolean,
      default: true
    },
    data: {
      type: Object,
      default: () => {
        return {}
      }
    },
    // 展开层数
    expand: {
      type: Number,
      default: 2
    }
  },
  watch: {
    data () {
      this.jsonData = this.data
    }
  },
  computed: {

  },
  created () {
  },
  methods: {

  }
}
</script>

<style lang='less' module>
</style>

value 代表显示的 JSON 数据。

4、组件内使用

在需要使用的页面:

<template>
  <div>
    <json-view :data="jsonData"></json-view>
  </div>
</template>

<script>
import jsonView from './components/JsonView.vue'
export default {
  name: '',
  components: {
    jsonView
  },
  data () {
    return {
      jsonData: {
        "name": "小明",
        "age": 24,
        "gender": true,
        "height": 1.85,
        "weight": null,
        "skills": [
          {
            "PHP": [
              "Laravel",
              "Composer"
            ]
          },
          {
            "JavaScript": [
              "jQuery",
              "Vue",
              "React"
            ]
          },
          "Golang",
          "Python",
          "Lua"
        ]
      }
    }
  },
  methods: {
  }
}
</script>

<style lang=''>
</style>

页面效果:

5、插件可选配置说明

属性说明类型默认值
json传入的json数据(必填)Object-
closed是否折叠全部Booleanfalse
deep展开深度,越大渲染速度越慢,建议不超过5)Number3
icon-style折叠按钮样式,可选值为 [square, circle, triangle ]Stringsquare
icon-color两个折叠按钮的颜色Arraytheme = vs-code 时,[’#c6c6c6’, ‘#c6c6c6’],其他情况为 [’#747983’, ‘#747983’]
theme可选主题样式,可选值为 [one-dark, vs-code], 不选时为默认的白色主题String-
font-size字体大小,单位 pxNumber14
line-height行高,单位 pxNumber24

注:行高和字体大小不建议选用过大值,因为 icon 大小、每行的 padding-left 等参数并不会随之发生改变。

总结

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

相关文章

  • Vue首屏白屏问题的原因和解决方法讲解

    Vue首屏白屏问题的原因和解决方法讲解

    这篇文章主要介绍了Vue首屏白屏问题的原因和解决方法讲解,Vue首屏白屏问题是指在页面初次加载时,部分或全部内容无法正常显示,出现空白的情况。其原因可能是因为页面渲染速度过慢,或者是因为网络请求等问题导致数据无法及时加载
    2023-05-05
  • Element MessageBox弹框的具体使用

    Element MessageBox弹框的具体使用

    这篇文章主要介绍了Element MessageBox弹框的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 基于vue的验证码组件的示例代码

    基于vue的验证码组件的示例代码

    这篇文章主要介绍了基于vue的验证码组件的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • vue 指令和过滤器的基本使用(品牌管理案例)

    vue 指令和过滤器的基本使用(品牌管理案例)

    这篇文章主要介绍了vue-品牌管理案例-指令和过滤器的相关知识,文中通过代码给大家介绍了过滤器的基本使用,需要的朋友可以参考下
    2019-11-11
  • 一次前端Vue项目国际化解决方案的实战记录

    一次前端Vue项目国际化解决方案的实战记录

    这篇文章主要给大家介绍了关于前端Vue项目国际化解决方案的实战记录,以上只是一部分Vue项目开发中遇到的典型问题和解决方案,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • Vue3响应式高阶用法之markRaw()的使用

    Vue3响应式高阶用法之markRaw()的使用

    在Vue3中,markRaw()用于防止对象被转换为响应式,适用于管理大型库对象或静态数据,有助于优化性能和防止不必要的修改,本文就来详细的介绍一下,感兴趣的可以了解一下
    2024-09-09
  • VUE使用 wx-open-launch-app 组件开发微信打开APP功能

    VUE使用 wx-open-launch-app 组件开发微信打开APP功能

    这篇文章主要介绍了VUE使用 wx-open-launch-app 组件开发微信打开APP功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Electron vue的使用教程图文详解

    Electron vue的使用教程图文详解

    Electron相当于一个浏览器的外壳,可以把网页程序嵌入到壳里面,可以运行在桌面上的一个程序,可以把网页打包成一个在桌面运行的程序。这篇文章主要介绍了electron-vue多显示屏下将新窗口投放是其他屏幕 ,需要的朋友可以参考下
    2019-07-07
  • vxe-table 实现行高拖拽功能示例详解

    vxe-table 实现行高拖拽功能示例详解

    vxe-table实现行高拖拽功能,需更新到最新版本,通过row-config.resizable和row-resize启用,多列允许触发行高拖拽时,通过row-resize指定任意列,感兴趣的朋友跟随小编一起看看吧
    2025-01-01
  • Vue.js中的下载和调用方式

    Vue.js中的下载和调用方式

    这篇文章主要介绍了Vue.js中的下载和调用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11

最新评论