HarmonyOS 如何将HashMap转换成json再UTF-8编码,再base64编码

{
  osType : 01
  appVersion : 1.7.7
  dvImei : 864db36640ec680a2b09252fd161f43ec2b10c7d
  nonceStr : 20240524105344581032267853167626
  osVersion : 14.8.1
  txnTm : 20240524105422
  appChlNo : 04
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

如何将hasmap转换成json再UTF-8编码,再base64编码

原有项目逻辑如下

headValue = [[NSString alloc] initWithData:[self.headerDict toJSON] encoding:NSUTF8StringEncoding];

[paramDict setValue:[RMSecurityUtil encodeBase64String:headValue] forKey:@"txnHeaderInfo"];
  • 1.
  • 2.
  • 3.
HarmonyOS
2024-12-27 13:48:00
631浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
FengTianYa

请您参考如下代码:

import HashMap from '@ohos.util.HashMap';
import util from '@ohos.util';

function hashMap2Json() {
  const hashMap: HashMap<string, string> = new HashMap();
  hashMap.set("osType", "01");
  hashMap.set("appVersion", "1.7.7");
  hashMap.set("dvImei", "864db36640ec680a2b09252fd161f43ec2b10c7d");
  hashMap.set("nonceStr", "20240524105344581032267853167626");
  hashMap.set("osVersion", "14.8.1");
  hashMap.set("txnTm", "20240524105422");
  hashMap.set("appChlNo", "04");
  const jsonObject: Record<string, Object> = {};
  hashMap.forEach((value, key) => {
    if (key != undefined && value != undefined) {
      jsonObject[key] = value;
    }
  })
  const jsonString = JSON.stringify(jsonObject);
  console.log('jsonString', jsonString);
  return jsonString;
}
@Entry
@Component
struct TestHashMap {
  @State message: string = 'Hello World';
  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
          .onClick(() => {
            const temp = hashMap2Json();
            const json2encodeUtf8 =new util.TextEncoder().encodeInto(temp);
            console.log('json2encodeUtf8: ' + json2encodeUtf8);
            const utf82Base64 =new util.Base64Helper().encodeToStringSync(json2encodeUtf8);
            console.log('utf82Base64: ' + utf82Base64);
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
分享
微博
QQ
微信
回复
2024-12-27 16:01:53


相关问题
如何base64转换成图片?
11578浏览 • 2回复 待解决
HarmonyOS 图片Base64编码
847浏览 • 1回复 待解决
HarmonyOS base64编码问题
1416浏览 • 1回复 待解决
HarmonyOS base64编码的API
760浏览 • 1回复 待解决
HarmonyOS 如何将base64数据转换为图片
1462浏览 • 1回复 待解决
HarmonyOS 图片进行base64编码报错
1397浏览 • 1回复 待解决
arkts中怎么实现base64编码
1616浏览 • 1回复 待解决
希望fs.write支持utf-8之外的编码格式
1301浏览 • 1回复 待解决
HarmonyOS 如何将汉字转换成拼音
1014浏览 • 1回复 待解决
js canvas转base64编码图片不全
12100浏览 • 1回复 待解决
PixelMap类型怎么转换成Base64字符串
1623浏览 • 1回复 待解决
HarmonyOS如何将图片转Base64
1994浏览 • 1回复 待解决
如何进行base64编码,有人知道吗?
1289浏览 • 1回复 待解决
HarmonyOS 如何将HashMap转换Json string?
1529浏览 • 1回复 待解决
HarmonyOS 如何将文件流转为base64
1214浏览 • 1回复 待解决
如何将文件转换成字符串
1164浏览 • 1回复 待解决