HarmonyOS 鸿蒙NextJson字符串与Map集合对象如何互转?

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

HarmonyOS 鸿蒙Next Json字符串与Map集合对象如何互转?

Json字符串与Map集合对象如何进行互转呢?

2 回复
参考下面demo:
// Map转Json字符串代码如下:
const map = new Map([
  ['name', '张三'],
  ['age', '18'],
  ['address', 'xian'],
]);

let jsonObject:Record<string,Object> = {}

map.forEach((value,key) => { if (key != undefined && value != undefined) { jsonObject[key] = value; } })

let info:string = JSON.stringify(jsonObject);

// Json字符串转Map let strParam = ‘{“main”: {“num”: 1,“aaa”: 2},“ks”:“sadadas”,“sc”:11111,“update”:“asdasdasda”}’; let obj: object = JSON.parse(strParam); let targetMap: Map<string, object> = new Map<string, object>(Object.entries(obj));<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

在HarmonyOS鸿蒙Next开发中,将Json字符串与Map集合对象互转是一个常见的需求,通常可以通过以下方式实现:

  1. Json字符串转Map集合: 使用org.json.JSONObject类,该类提供了toMap()方法,可以直接将Json对象转换为Map集合。示例代码如下:

    import org.json.JSONObject;
    String jsonStr = "{\"key1\":\"value1\",\"key2\":\"value2\"}";
    JSONObject jsonObject = new JSONObject(jsonStr);
    Map<String, Object> map = jsonObject.toMap();
    
  2. Map集合转Json字符串: 同样使用org.json.JSONObject类,可以通过其构造函数将Map集合转换为Json对象,然后调用toString()方法得到Json字符串。示例代码如下:

    import org.json.JSONObject;
    Map<String, Object> map = new HashMap<>();
    map.put("key1", "value1");
    map.put("key2", "value2");
    JSONObject jsonObject = new JSONObject(map);
    String jsonStr = jsonObject.toString();
    

上述方法基于org.json库,确保项目中已包含该库的依赖。如果项目中使用了其他Json处理库(如Gson或Jackson),转换方法会有所不同,但原理类似。

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

回到顶部