vue 显示json,vue根据json生成表单

  vue 显示json,vue根据json生成表单

  这篇文章主要介绍了某视频剪辑软件如何实现数据格式数据展示,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  

目录

   Json格式数据展示某视频剪辑软件解析数据数据

  

Json格式数据展示

  某视频剪辑软件的jsonViewer组件也很好用,在网上看到有大神自己写的组件(递归调用),觉得很好,稍作修改,记录一下

  JSON.stringify(obj,null,4)

  可以美化数据数据的显示

  光要高亮的内容/span在数据数据中,如果有需要高亮的内容,用以上标签包起来(这个要处理数据实现了,组件里高亮样式可以根据需要自己修改)

  模板

  div class=bgView

  div :class=[json-view ,长度?可关闭: ]:style= font-size: fontSize px

  span @ click=切换关闭:class=[ angle ,innerclosed?closed : ] v-if=length/span

  div class=内容包装

  第一线

  span v-if= JSON key class= JSON-key { { JSON key } } :/span

  span v-if= length @ click=切换关闭 style= cursor:pointer;

  { {前缀}}

  {{innerclosed?(. 子修复):“”}}

  ! json-note

  {{innerclosed?(//count: length) : }}

  /span -

  /span

  span v-if=!长度“{isArray?[] : {}}}/span

  /p

  div v-if=!内部封闭长度class=json-body

  模板项目中的v-for=(项目,索引

  json-view v-if=item.isJSON

  :closed=closed

  :key=index

  :json=item.value

  :jsonKey=item.key

  :深度=深度1

  :expandDepth=expandDepth

  :is last= index===items。长度-1 /JSON-view

  p v-else class= JSON-item :key= index

  span class=json-key

  {{(isArray? 项。按键 :)} }

  /span

  v-html= item。值(索引===项。长度-1? : ,)/

  /p

  /模板

  !- span v-show=!内部封闭 class= body-line /span-

  /div

  p v-if=!内部封闭长度最后一行

  span{{subfix}}/span

  /p

  /div

  /div

  /div

  /模板

  脚本

  导出默认值{

  名称: jsonView ,

  道具:{

  JSON:[对象,数组],

  jsonKey: {

  类型:字符串,

  默认值:""

  },

  已关闭:{

  类型:布尔型,

  默认值:真

  },

  isLast: {

  类型:布尔型,

  默认值:真

  },

  fontSize: {

  类型:数量,

  默认值:13

  },

  扩展深度:{

  类型:数量,

  默认值:0

  },

  深度:{

  类型:数量,

  默认值:0

  }

  },

  已创建(){

  this.innerclosed=!这个。关了?这个。关闭:这个。深度=这个。扩展深度

  这个手表(关闭,()={

  this.innerclosed=this.closed

  })

  },

  data() {

  返回{

  内部封闭:真

  }

  },

  方法:{

  isObjectOrArray(源){

  常量类型=对象。原型。托斯特林。呼叫(来源)

  const RES=type===[对象数组] type===[对象对象]

  返回资源

  },

  toggleClose() {

  if (this.innerclosed) {

  this.innerclosed=false

  }否则{

  this.innerclosed=true

  }

  }

  },

  计算值:{

  isArray() {

  返回对象。原型。托斯特林。打电话(这个。JSON)==[对象数组]

  },

  长度(){

  把这个还回去。艾萨里?这个。JSON。长度:对象。钥匙(这个。JSON).长度

  },

  subfix() {

  return (this.isArray?] : }) (this.isLast? : ,)

  },

  前缀(){

  把这个还回去。艾萨里?[ : {

  },

  项目(){

  if (this.isArray) {

  返回this.json.map(item={

  const是JSON=this。isobjectorarray(项目)

  返回{

  值:isJSON?item : JSON.stringify(item),

  isJSON,

  密钥:""

  }

  })

  }

  const json=this.json

  返回Object.keys(json).地图(key={

  const item=json[key]

  const是JSON=this。isobjectorarray(项目)

  返回{

  值:isJSON?item : JSON.stringify(item),

  isJSON,

  键

  }

  })

  }

  }

  }

  /脚本

  风格。bgView {

  背景色:# efefef

  font-family:NotoSansCJKkr;

  }。json-view {

  位置:相对;

  显示:块;

  宽度:100%;

  身高:100%;

  /*空白:nowrap*/

  填充:0 20像素

  框大小:边框-框;

  行高:30px

  }。json-note {

  颜色:# 909399;

  }。json-key {

  颜色:# 333333;

  }。json-value {

  颜色:# 333333;

  }。json-item {

  边距:0;

  左填充:20px

  }。一线{

  填充:0;

  边距:0;

  }。数据主体{

  位置:相对;

  填充:0;

  边距:0;

  }。json-body .正文行{

  位置:绝对;

  身高:100%;

  宽度:0;

  边框-左侧:虚线1px # bbb

  top:0;

  左:2px

  }。最后一行

  填充:0;

  边距:0;

  }。角度{

  位置:绝对;

  显示:块;

  光标:指针;

  浮动:左;

  宽度:20px

  文本对齐:居中;

  左:0;

  }。角度:在{

  内容:"";

  显示:内嵌-块;

  宽度:0;

  高度:0;

  垂直对齐:居中;

  边框-顶部:纯色4px # 333

  左边界:纯色6px透明;

  右边框:纯色6px透明;

  }。angle.closed:在{

  边框-左侧:纯色4px # 333

  边框顶部:纯色6px透明;

  底部边框:纯色6px透明;

  }。光{

  颜色:# 0595ff

  }

  /风格

  

vue解析json数据

  在前端接授到数据后,使用解析(jsonObject)就可以解析!(jsonObject为数据对象)

  以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: