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编辑器相关推荐

  1. html公式编辑器插件,所见即所得的jQuery数学公式编辑器插件

    MathquillBasedEditor是一款所见即所得的jQuery数学公式编辑器插件.该数学公式编辑器依赖于mathquill,可以通过点击图标来直接生成乘方和开方等数学公式. 使用方法 在页面中 ...

  2. html ace编辑器,Springboot 集成 Ace editor前端编辑器

    一.引入Ace editor 本质上Ace editor只是一个js而已.而该js引用了其他js(如扩展.主题等js),因此将ace editor.js引入项目时最好复制整个文件夹,不能只复制一个ac ...

  3. ECSHOP编辑器【ECSHOP超级编辑器插件】全网最强编辑器

    插件简介: ECSHOP编辑器功能非常之弱,令使用者叫苦不迭, 继上一版超级编辑器之后,ecshop插件网再度推出这一超强编辑器,整合全网最强的编辑器,涵盖流行富文本编辑器特色功能,多种全新编辑操作模 ...

  4. html代码编辑器jason,GitHub - 2947721120/jsoneditor: json编辑器

    JSON 编辑器 描述 JSON编辑器是一个基于网络的工具来查看.编辑和格式JSON. 这模式如树有各种编辑器,代码编辑器和一个纯文本 . 编辑可以作为你自己的Web应用程序的一个组成部分.图书馆可以 ...

  5. Vscode——编辑setting.json,但显示“无法在只读编辑器中编辑”的一种解决方法

    Vscode--编辑setting.json,但显示"无法在只读编辑器中编辑"的一种解决方法 一.遇到的问题 二.解决方法 1.打开"设置",输入想编辑的参数名 ...

  6. html渲染json的插件,[ json editor] 如何在网页中使用Json editor 插件

    [目的] 在自己的网页上交由用户进行json的可视化编辑 [难点]1.json中含有递归嵌套的数组和对象 2.json中的基本值类型有数字.字符串和布尔型 [方法]使用daviddurman的Flex ...

  7. notepad转换json_Notepad++的Json格式化插件

    安装  : 1.下载插件压缩包并解压出dll:Jsonviewer2.dll(64位)或NPPJSONViewer.dll(32位); 2..拷贝对应dll到Notepad++安装目录下的plugin ...

  8. GoJS超详细入门(插件使用无非:引包、初始化、配参数(json)、引数据(json)四步)...

    GoJS超详细入门(插件使用无非:引包.初始化.配参数(json).引数据(json)四步) 一.总结 一句话总结:插件使用无非:引包.初始化.配参数(json).引数据(json)四步. 1.goj ...

  9. Notepad++ 添加Json格式化插件

    Notepad++拥有强大的插件功能,其中json对于开发尤其适用 搜索JSTool,然后点击安装 安装后,选择JSFormat,就可以按照Json格式看文件

  10. html json解析插件,jQuery插件jsonview展示json数据

    本文实例为大家分享了jQuery插件jsonview展示json数据的具体代码,供大家参考,具体内容如下 项目中要展示json数据,自己写一套html来展示太麻烦,可以使用jquery的插件jsonv ...

最新文章

  1. 互联网公司IT系统架构进化之路
  2. CPA、CPS、CPM、CPT、CPC 是什么
  3. python 正则表达式re 模块的使用
  4. linux——用户理解及管理
  5. 面试--Linux命令总结
  6. Linux Shell脚本专栏_一键查看服务器的利用率_04
  7. 图示Windows Server2008 Feature Components
  8. 计算机没有网络设备器,设备管理器里没有网络适配器的解决方法 - 系统家园
  9. 如何有效地卸载office
  10. 【Codeforces613D】Kingdom and its Cities【虚树】【Tree DP】
  11. BZOJ 3653 谈笑风生
  12. left semi join 和 left join 区别
  13. 机器之心最干的文章:机器学习中的矩阵、向量求导
  14. 韩信点兵C语言实现的几种方法
  15. msm8953 LK通过cmdline向Kernel传递LCD参数过程分析
  16. 小米5无线显示如何连接到服务器,小米电视无线显示怎么用?详细操作方法
  17. 虚拟机: 虚拟机win7的激活方式(底层操作系统 为 win10) ===用windows loader
  18. lightroom磨皮滤镜中文插件Portraiture4最新版本
  19. 一看就懂的网络传输介质介绍
  20. matlab提取向量中的非零元素

热门文章

  1. 国内博客(blog)搬家工具(服务)大全
  2. 写给非网工的CCNA教程(2)第一个协议--ARP协议
  3. 路遥《平凡的世界》读后感
  4. Android仿miui11风格,华为手机适配MIUI11图标风格主题-适配EMUI9.1/9.0
  5. asus官方android升级包,华硕ASUS手机平板官方刷机包raw格式解压修改工具
  6. 详解Unity中的摄像机及实例应用
  7. macOS Mojave下解决wine中文乱码问题
  8. java从入门到精通 人民邮电_Java从入门到精通【人民邮电出版社】课后习题答案全集...
  9. Day22——十字链表
  10. oracle strsplit函数,oracle splitstr 函数