json编辑器插件 vue_vue-json-editor json编辑器
vue-json-editor json编辑器
发布时间:2021-02-20 09:08:21编辑:admin阅读(106)
一、概述
现有一个vue项目,需要一个json编辑器,能够格式化json数据,同时也支持编辑功能。
vue-json-editor 插件就可以实现这个功能
二、vue-json-editor 使用
安装插件npm install vue-json-editor --save
使用
test.vue
v-model="resultInfo"
:showBtns="false"
:mode="'code'"
@json-change="onJsonChange"
@json-save="onJsonSave"
@has-error="onError"
/>
确定
// 导入模块
import vueJsonEditor from 'vue-json-editor'
export default {
// 注册组件
components: { vueJsonEditor },
data() {
return {
hasJsonFlag:true, // json是否验证通过
// json数据
resultInfo: {
'employees': [
{
'firstName': 'Bill',
'lastName': 'Gates'
},
{
'firstName': 'George',
'lastName': 'Bush'
},
{
'firstName': 'Thomas',
'lastName': 'Carter'
}
]
}
}
},
mounted: function() {
},
methods: {
onJsonChange (value) {
// console.log('更改value:', value);
// 实时保存
this.onJsonSave(value)
},
onJsonSave (value) {
// console.log('保存value:', value);
this.resultInfo = value
this.hasJsonFlag = true
},
onError(value) {
// console.log("json错误了value:", value);
this.hasJsonFlag = false
},
// 检查json
checkJson(){
if (this.hasJsonFlag == false){
// console.log("json验证失败")
// this.$message.error("json验证失败")
alert("json验证失败")
return false
} else {
// console.log("json验证成功")
// this.$message.success("json验证成功")
alert("json验证成功")
return true
}
},
}
}
插件参数说明:
v-model="resultInfo" // 绑定数据resultInfo
:showBtns="false" // 是否显示保存按钮
:mode="'code'" // 默认编辑模式
// 显示中文,默认英文
@json-change="onJsonChange" // 数据改变事件
@json-save="onJsonSave" // 数据保存事件
@has-error="onError" // 数据错误事件
/>
相关说明:
resultInfo 默认绑定的变量,这个变量可以为空,编辑器会显示为{}
:showBtns 这里不显示保存按钮,为什么呢?原因有2个。1. 默认样式不好看。2. 只能当json数据正确,才能点击保存按钮,否则禁止点击。
json-change,json-save,has-error 这3个事件,是会实时触发的。
这里我额外加了一个检测方法,用来判断json数据是否正确。默认标记为true,当不正确时,会改变状态为false。
访问
点击确定,提示成功
改为错误的,点击确定,会提示失败。
注意:这个json编辑会带有下来菜单,实际项目中,需要去除,比较用户误操作。
在实际使用中发现几个问题:
1. 输入中文时,传给后端的值不多
2. 输入大量json时,会有部分数据丢失。
因此,我们使用下面的编辑器bin-code-editor
三、bin-code-editor
安装模块npm install bin-code-editor -d
引入
在 main.js 中写入2行import CodeEditor from 'bin-code-editor';
Vue.use(CodeEditor);
test.vue
提交
const jsonData =`{
"employees": [{
"firstName": "Bill",
"lastName": "Gates"
}, {
"firstName": "George",
"lastName": "Bush"
}, {
"firstName": "Thomas",
"lastName": "Carter"
}]
}`
export default {
data() {
return {
jsonStr:jsonData
}
},
methods: {
// 检测json格式
isJSON(str) {
if (typeof str == 'string') {
try {
var obj=JSON.parse(str);
if(typeof obj == 'object' && obj ){
return true;
}else{
return false;
}
} catch(e) {
return false;
}
}else if (typeof str == 'object' && str) {
return true;
}
},
onSubumit(){
if (!this.isJSON(this.jsonStr)){
this.$message.error(`json格式错误`)
return false
}
this.$message.success('json格式正确')
}
}
}
访问测试页面,效果如下:
输入错误的值,点击执行,会有提示
本文参考链接:
关键字:
json编辑器插件 vue_vue-json-editor json编辑器相关推荐
- html公式编辑器插件,所见即所得的jQuery数学公式编辑器插件
MathquillBasedEditor是一款所见即所得的jQuery数学公式编辑器插件.该数学公式编辑器依赖于mathquill,可以通过点击图标来直接生成乘方和开方等数学公式. 使用方法 在页面中 ...
- html ace编辑器,Springboot 集成 Ace editor前端编辑器
一.引入Ace editor 本质上Ace editor只是一个js而已.而该js引用了其他js(如扩展.主题等js),因此将ace editor.js引入项目时最好复制整个文件夹,不能只复制一个ac ...
- ECSHOP编辑器【ECSHOP超级编辑器插件】全网最强编辑器
插件简介: ECSHOP编辑器功能非常之弱,令使用者叫苦不迭, 继上一版超级编辑器之后,ecshop插件网再度推出这一超强编辑器,整合全网最强的编辑器,涵盖流行富文本编辑器特色功能,多种全新编辑操作模 ...
- html代码编辑器jason,GitHub - 2947721120/jsoneditor: json编辑器
JSON 编辑器 描述 JSON编辑器是一个基于网络的工具来查看.编辑和格式JSON. 这模式如树有各种编辑器,代码编辑器和一个纯文本 . 编辑可以作为你自己的Web应用程序的一个组成部分.图书馆可以 ...
- Vscode——编辑setting.json,但显示“无法在只读编辑器中编辑”的一种解决方法
Vscode--编辑setting.json,但显示"无法在只读编辑器中编辑"的一种解决方法 一.遇到的问题 二.解决方法 1.打开"设置",输入想编辑的参数名 ...
- html渲染json的插件,[ json editor] 如何在网页中使用Json editor 插件
[目的] 在自己的网页上交由用户进行json的可视化编辑 [难点]1.json中含有递归嵌套的数组和对象 2.json中的基本值类型有数字.字符串和布尔型 [方法]使用daviddurman的Flex ...
- notepad转换json_Notepad++的Json格式化插件
安装 : 1.下载插件压缩包并解压出dll:Jsonviewer2.dll(64位)或NPPJSONViewer.dll(32位); 2..拷贝对应dll到Notepad++安装目录下的plugin ...
- GoJS超详细入门(插件使用无非:引包、初始化、配参数(json)、引数据(json)四步)...
GoJS超详细入门(插件使用无非:引包.初始化.配参数(json).引数据(json)四步) 一.总结 一句话总结:插件使用无非:引包.初始化.配参数(json).引数据(json)四步. 1.goj ...
- Notepad++ 添加Json格式化插件
Notepad++拥有强大的插件功能,其中json对于开发尤其适用 搜索JSTool,然后点击安装 安装后,选择JSFormat,就可以按照Json格式看文件
- html json解析插件,jQuery插件jsonview展示json数据
本文实例为大家分享了jQuery插件jsonview展示json数据的具体代码,供大家参考,具体内容如下 项目中要展示json数据,自己写一套html来展示太麻烦,可以使用jquery的插件jsonv ...
最新文章
- 互联网公司IT系统架构进化之路
- CPA、CPS、CPM、CPT、CPC 是什么
- python 正则表达式re 模块的使用
- linux——用户理解及管理
- 面试--Linux命令总结
- Linux Shell脚本专栏_一键查看服务器的利用率_04
- 图示Windows Server2008 Feature Components
- 计算机没有网络设备器,设备管理器里没有网络适配器的解决方法 - 系统家园
- 如何有效地卸载office
- 【Codeforces613D】Kingdom and its Cities【虚树】【Tree DP】
- BZOJ 3653 谈笑风生
- left semi join 和 left join 区别
- 机器之心最干的文章:机器学习中的矩阵、向量求导
- 韩信点兵C语言实现的几种方法
- msm8953 LK通过cmdline向Kernel传递LCD参数过程分析
- 小米5无线显示如何连接到服务器,小米电视无线显示怎么用?详细操作方法
- 虚拟机: 虚拟机win7的激活方式(底层操作系统 为 win10) ===用windows loader
- lightroom磨皮滤镜中文插件Portraiture4最新版本
- 一看就懂的网络传输介质介绍
- matlab提取向量中的非零元素
热门文章
- 国内博客(blog)搬家工具(服务)大全
- 写给非网工的CCNA教程(2)第一个协议--ARP协议
- 路遥《平凡的世界》读后感
- Android仿miui11风格,华为手机适配MIUI11图标风格主题-适配EMUI9.1/9.0
- asus官方android升级包,华硕ASUS手机平板官方刷机包raw格式解压修改工具
- 详解Unity中的摄像机及实例应用
- macOS Mojave下解决wine中文乱码问题
- java从入门到精通 人民邮电_Java从入门到精通【人民邮电出版社】课后习题答案全集...
- Day22——十字链表
- oracle strsplit函数,oracle splitstr 函数