vue项目中将WebService接口返回的XML转为JSON对象

目录

1.安装fast-xml-parser插件

2.在项目文件中引入插件

3.配置转化项options配置

4.在请求接口时调用该方法


1.安装fast-xml-parser插件

npm install fast-xml-parser

2.在项目文件中引入插件

import parser from 'fast-xml-parser';

3.转化项options配置

options: {
					attributeNamePrefix: '',
					textNodeName: 'value',
					ignoreAttributes: false,
					parseAttributeValue: true,
					trimValues: true,
					parseTrueNumberOnly: true,
					arrayMode: false
				},

配置(OPTIONS)说明

OPTIONS

  • attributeNamePrefix: 提供预定的字符串作为属性名称前缀, 比如@_, 这时假设解析的属性为name,那么在解析后的JSON中该属性将会解析为@_name
  • attrNodeName: 将所有属性分组为给定名称的属性, 取代原本的属性名称, 修改为该名称
  • ignoreAttributes: 忽略解析属性, 配置该项的时候不会解析标签内的属性, 默认为true
  • ignoreNameSpace: 从标记和属性名称中移除命名空间字符串
  • allowBooleanAttributes: 标记可以具有不带任何值的属性
  • parseNodeValue : 将属性的值解析为float、integer或boolean
  • parseAttributeValue: 将属性的值解析为float、integer或boolean
  • trimValues: 修剪属性或节点的字符串值
  • decodeHTMLchar: This options has been removed from 3.3.4. Instead, use - tagValueProcessor, and attrValueProcessor. See above example.
  • cdataTagName: 如果指定,解析器会将CDATA解析为嵌套标记,而不是将其值添加到父标记中
  • cdataPositionChar: 它将有助于将JSON转换回XML,而不会失去CData的位置。
  • localeRange: 解析器将接受标记或属性名中的非英文字符
  • parseTrueNumberOnly: 如果为真,则像“+123”或“0123”这样的值不会被解析为数字。
  • tagValueProcessor: 转换期间处理标记值。如HTML解码、单词大写等,仅适用于字符串。
  • attrValueProcessor: 转换期间处理属性值。如HTML解码、单词大写等,仅适用于字符串
  • stopNodes: 不需要解析的标记名数组。相反,它们的值被解析为字符串 

 转自简书:fast-xml-parser 中文文档 - 简书icon-default.png?t=N7T8https://www.jianshu.com/p/d4efd04d43fb

4.在请求接口时调用该方法

const jsonObj = parser.parse(res.data, this.options);

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue 项目中可以使用 Mock.js 来生成假数据。Mock.js 是一个用于生成随机数据的 JavaScript 库,可以模拟出各种数据类型,如数字、字符串、布尔值、数组、对象等。它还支持自定义规则和插件扩展,非常方便实用。 以下是一个使用 Mock.js 生成假数据的示例: 1. 安装 Mock.js 在命令行中执行以下命令进行安装: ``` npm install mockjs --save-dev ``` 2. 创建 mock 数据 在项目根目录下创建一个 `mock` 文件夹,在该文件夹中创建一个 `data.js` 文件,编写如下代码: ```javascript import Mock from 'mockjs' // 模拟一个假的接口返回数据 Mock.mock('/api/user', 'get', { 'code': 200, 'message': 'ok', 'data': { 'id': '@id', 'name': '@cname', 'age|18-60': 1, 'email': '@email', 'phone': /^1[3456789]\d{9}$/ } }) ``` 在上述代码中,我们使用了 Mock.js 提供的 `mock()` 方法来模拟一个假的接口返回数据。其中参数一为接口地址,参数二为请求方式,参数三为返回数据,是一个 JSON 对象,包含了接口返回的所有数据字段。 在返回数据中,我们使用了 Mock.js 提供的语法规则来生成随机数据,例如 `@id` 会生成一个随机的 ID,`@cname` 会生成一个随机的中文姓名,`'age|18-60': 1` 会生成一个介于 18 和 60 之间的随机整数等等。 3. 引入 Mock.js 在项目入口文件中(一般是 `main.js` 文件)引入 Mock.js: ```javascript import Mock from 'mockjs' import './mock/data.js' // 引入 mock 数据 ``` 以上就是在 Vue 项目中使用 Mock.js 生成假数据的基本步骤。需要注意的是,使用 Mock.js 生成的假数据只会在开发环境中生效,在生产环境中不会生效。因此,建议在开发时使用假数据进行接口测试,而在上线前记得删除 Mock.js 相关代码。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值