代码拉取完成,页面将自动刷新
数据序列化系统,支持丰富的数据结构,将其转化成便于存储或传输的二进制数据格式。它同时也是一个容器文件,用于存储持久数据。
npm i avro-js
npm i buffer
npm i util
OpenHarmony npm环境配置等更多内容,请参考 如何安装OpenHarmony npm包 。
import avro from 'avro-js-ohos/etc/browser/avro'
var mapType = avro.parse({ 'type': 'map', values: 'long' })
var petMap = { 'key1': 12343, 'key2': 3445 };
var bufMap = mapType.toBuffer(petMap); // Buffer containing 'Hi''s Avro encoding.
var mapSrc = mapType.fromBuffer(bufMap); // === 'Hi'
var bufferStr = "";
for (var i = 0; i < bufMap.length; i++) {
bufferStr = bufferStr + bufMap[i];
}
this.mapTestResult="MapType:{原始数据:" + JSON.stringify(petMap) + ",序列化后:" + bufferStr + ",还原数据:" + JSON.stringify(mapSrc)+ "};";
console.info("----MapType--{original_data:" + JSON.stringify(petMap) + ",serialization:" + bufferStr + ",restore_data:" + JSON.stringify(mapSrc) + "}");
avro.parseparse(schema, opts)
.toBuffer(val)
.fromBuffer(buf, [resolver,] [noCheck])
在下述版本验证通过:
|---- avro
| |---- entry # 示例代码文件夹
| |---- README.md # 安装使用方法
以下所使用的版本依赖与源库版本号保持一致:
原始库 | 版本号 |
---|---|
util | 1.0.0 |
avro-js | ^1.11.1 |
1.util 做了适配, 修改处为原库路径node_modules/util/util.js 第 109 行 修改前
if (process.env.NODE_DEBUG) {
var debugEnv = process.env.NODE_DEBUG;
debugEnv = debugEnv.replace(/[|\\{}()[\]^$+?.]/g, '\\$&')
.replace(/\*/g, '.*')
.replace(/,/g, '$|^')
.toUpperCase();
debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');
}
修改后为
if (typeof process !== 'undefined' && process.env.NODE_DEBUG) {
var debugEnv = process.env.NODE_DEBUG;
debugEnv = debugEnv.replace(/[|\\{}()[\]^$+?.]/g, '\\$&')
.replace(/\*/g, '.*')
.replace(/,/g, '$|^')
.toUpperCase();
debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');
}
2.avro-js 做了适配, 项目中需要使用使用util依赖 (1)修改处: 在 avro-js/package.json ,添加 "util": "file:../util" 依赖
"dependencies": {
"underscore": "^1.13.2",
"util": "file:../util"
},
使用过程中发现任何问题都可以提 Issue 给我们,当然,我们也非常欢迎你给我们发 PR 。
本项目基于 Apache License 2.0 ,请自由地享受和参与开源。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。