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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA中json字符串如何转化为map对象,获取数据?相关的知识,希望对你有一定的参考价值。

"status":0, "message":"ok", "total":9628, "results":[ "name":"外婆家(湖滨店)",...]从百度API检索的信息,获取到数据,转化为String字符串,怎样把这个长字符串转变为Map对象?取其中的一部分信息

我们需要先把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<String, Object> map = new HashMap<String, Object>();map.put("userId", 1001);map.put("userName", "张三");map.put("userSex", "男");JSONObject jsonObject = JSONObject.fromObject(map);System.out.println(jsonObject);

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

5.

参考技术A hashmap是以键值对(key-value)的格式保存对象的容器, 数组是按顺序一个一个保存对象的容器 你把hashmap转换成数组是想把key转成数组呢还是把value转成数组呢或者key和value组合成的对象转换成数组呢.我把key和value的分别写出来,组合对象的同理... 参考技术B String ma=" \"status\":0, \"message\":\"ok\", \"total\":9628, \"results\":[ \"name\":\"外婆家(湖滨店)\"]";
Map<String,Object> map = JSON.parseObject(ma);
参考技术C public Map jsonToObject(String jsonStr) throws Exception
JSONObject jsonObj = new JSONObject(jsonStr);
Iterator<String> nameItr = jsonObj.keys();
String name;
Map<String, String> outMap = new HashMap<String, String>();
while (nameItr.hasNext())
name = nameItr.next();
outMap.put(name, jsonObj.getString(name));

return outMap;
本回答被提问者和网友采纳

以上是关于JAVA中json字符串如何转化为map对象,获取数据?的主要内容,如果未能解决你的问题,请参考以下文章

java 中怎么把map 转化为json

java 判断map是否存在某个key 和 json字符串转化为list对象

如何将这个JSON字符串转化成list对象

JSON数组对象和JSON字符串的转化,map和JSON对象之间的转化

java map获取到的值转为User对象

java怎样将json转化为字符串格式化