HarmonyOS 鸿蒙Next Json字符串在Arkts中怎么单独将key和value拼接成字符串

发布于 1周前 作者 songsunli 最后一次编辑是 5天前 来自 鸿蒙OS

原有字符串:

String paramContent = "{ \"userName\":\"张三\",\"age\":5, \"subList\":[ { \"subName\":\"Sub张三\", \"subAge\":10 , \"childList\":[{\"childName\":\"child张三\",\"childAge\":20 }]}] }"; 

我这边原来java代码转换后:

age=5&subList=[{"subName":"Sub张三","subAge":10,"childList":[{"childName":"child张三","childAge":20}]}]&userName=张三  

想请教下 Arkts 中怎么写

2 回复
let paramContent = "{ \"userName\":\"张三\",\"age\":5, \"subList\":[ { \"subName\":\"Sub张三\", \"subAge\":10 , \"childList\":[{\"childName\":\"child张三\",\"childAge\":20 }]}] }";
    let obj: object = JSON.parse(paramContent);
    let reStr:string = ''
    let targetMap: Map<string, object> = new Map<string, object>(Object.entries(obj));
    targetMap.forEach((value,key) => {
      if (key != undefined && value != undefined) {
        console.log("key:" + key + '    value:' + value)
        reStr += key + '='+JSON.stringify(value)+'&'
      }
    })
    reStr = reStr.slice(0,reStr.length-1)
    console.log("reStr:" + reStr)

在HarmonyOS鸿蒙系统中,使用ArkTS(ArkUI TypeScript)处理JSON字符串时,若要将JSON对象的key和value单独拼接成字符串,可以通过遍历JSON对象来实现。以下是一个示例代码,展示如何在ArkTS中完成这一操作:

// 假设有一个JSON对象
let jsonObject = {
    name: "John",
    age: 30,
    city: "New York"
};

// 拼接key和value成字符串
let result = "";
for (let key in jsonObject) {
    if (jsonObject.hasOwnProperty(key)) {
        result += `${key}: ${jsonObject[key]}\n`;
    }
}

// 打印结果
console.log(result);

上述代码首先定义了一个JSON对象jsonObject,然后通过for...in循环遍历该对象的所有key。使用hasOwnProperty方法确保只遍历对象自身的属性,而非继承的属性。在循环体内,使用模板字符串将key和value拼接成所需的字符串格式,并累加到result变量中。最后,打印出拼接后的字符串。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部