vue读取本地项目下YAML文件并实现yaml与json间相互转换

业务需求:前端自己获取项目下的YAML,并且对YAML与JSON进行相互转换

1.实现效果如下:

在这里插入图片描述

在这里插入图片描述

2.具体实现

  1. 将yaml文件放到public文件夹下的yaml文件夹下
  2. 需要借助 js-yaml 来对yaml和json相互转换,load是yaml转换成json的API,dump是json转换成yaml的API
  3. 主要代码如下:
import yaml from 'js-yaml
// 读取Yaml
   readFile() {
     const file = this.loadFile('/yaml/test.yaml')
     console.info('file--------------', file)
     const json = yaml.load(file) // YAML输出为 json 格式
     console.log('yaml转换json',json)
     this.editor.csiJson = JSON.stringify(json, null, 2) //实现将文件内容展示到编辑器中
     console.info('json转换yaml', yaml.dump(JSON.parse(this.editor.csiJson)) )
   },
 // 读取文件
   loadFile(name) {
     const xhr = new XMLHttpRequest()
     const okStatus = document.location.protocol === 'file:' ? 0 : 200
     xhr.open('GET', name, false)
     xhr.overrideMimeType('text/html;charset=utf-8') // 默认为utf-8
     xhr.send(null)
     return xhr.status === okStatus ? xhr.responseText : null
   },
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值