赞
踩
初学前端,用的架子是 vue+element
,目前有个需求,想将string
类型的json
字符串,以json格式展示。
利用vue-json-viewer
插件,利用这个插件,可方便快速实现 高亮,JSON
折叠,copy
三种功能 !!!
官网地址:https://www.npmjs.com/package/vue-json-viewer
先放最终效果:
效果看完,那么我们来上干货了!
基于npm的安装:
$ npm install vue-json-viewer --save
基于yarn的安装:
$ yarn add vue-json-viewer
import Vue from 'vue'
import JsonViewer from 'vue-json-viewer'
// Import JsonViewer as a Vue.js plugin
Vue.use(JsonViewer)
// or
// components: {JsonViewer}
在template
里面加入如下一种: 其中jsonData
必须是json
类型的数据。
<json-viewer :value="jsonData"></json-viewer>
<hr />
<json-viewer
:value="jsonData"
:expand-depth=5
copyable
boxed
sort></json-viewer>
然后静态文件和引入都写好后,在script
里面,定义jsonData
,为它赋值
1、写死的实现:
2、动态赋值实现
// 任务详情
getJobDetail(index, row) {
getJobDetail({
jobName: row.jobName,
jobGroupName: row.jobGroup
}).then((res) => {
this.jsonData = res.data.paramJson
})
}
这个方法是,调用任务详情接口,返回一个任务的详情,赋值给this.jsonData
。即可实现接口赋值了。
最终。简单的实现方式就完成了!
<json-viewer
:value="jsonData"
:expand-depth=5
copyable
boxed
sort></json-viewer>
因为必须是JSON
类型的数据才能展示,有些情况得到的是string
类型的json
数据,那么需要将string
类型的json数据转换为json
类型。
下面我提供两个方法,供大家参考选用,一个是判断该string
类型的数据是否是json
;另一个方法是string
转json
。
判断string
是否是json
格式的字符串
function isJSON(str) {
if (typeof str == 'string') {
try {
var obj=JSON.parse(str);
if(typeof obj == 'object' && obj ){
return true;
}else{
return false;
}
} catch(e) {
console.log('error:'+str+'!!!'+e);
return false;
}
}
console.log('It is not a string!')
}
string
类型的json
字符串,转换为json格式
JSON.parse(str)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。