JAVA中json字符串如何转化为map对象,获取数据?

2025-01-03 08:56:33
推荐回答(4个)
回答1:

我们需要先把json字符串转化为net.sf.json.JSONObject对象,java中这样就可以完成json字符串到Map的转换了。

1.将数组转换为JSON:String[] arr = {"asd","dfgd","asd","234"};JSONArray jsonarray = JSONArray.fromObject(arr);System.out.println(jsonarray);

2.对象转换成JSON:UserInfo user = new UserInfo(1001,"张三");JSONArray jsonArray = JSONArray.fromObject(user);System.out.println( jsonArray );  

3.把Map转换成json, 要使用jsonObject对象:Map map = new HashMap();map.put("userId", 1001);map.put("userName", "张三");map.put("userSex", "男");JSONObject jsonObject = JSONObject.fromObject(map);System.out.println(jsonObject);

4.把List转换成JSON数据:List list = new ArrayList();UserInfo user = new UserInfo(1001, "张三");list.add(user);list.add(user);list.add(user);JSONArray jsonArray = JSONArray.fromObject(list);System.out.println(jsonArray);

5.

回答2:

hashmap是以键值对(key-value)的格式保存对象的容器, 数组是按顺序一个一个保存对象的容器 你把hashmap转换成数组是想把key转成数组呢还是把value转成数组呢或者key和value组合成的对象转换成数组呢.我把key和value的分别写出来,组合对象的同理...

回答3:

String ma="{ \"status\":0, \"message\":\"ok\", \"total\":9628, \"results\":[ { \"name\":\"外婆家(湖滨店)\"}]}";
Map map = JSON.parseObject(ma);

回答4:

public Map jsonToObject(String jsonStr) throws Exception {
JSONObject jsonObj = new JSONObject(jsonStr);
Iterator nameItr = jsonObj.keys();
String name;
Map outMap = new HashMap();
while (nameItr.hasNext()) {
name = nameItr.next();
outMap.put(name, jsonObj.getString(name));
}
return outMap;
}