package digu.pendant.util; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class PandantTools { public static List<Map<String, Object>> parseJSON2List(String jsonStr){ JSONArray jsonArr = JSONArray.fromObject(jsonStr); List<Map<String, Object>> list = new ArrayList<Map<String,Object>>(); Iterator<JSONObject> it = jsonArr.iterator(); while(it.hasNext()){ JSONObject json2 = it.next(); list.add(parseJSON2Map(json2.toString())); } return list; } public static Map<String, Object> parseJSON2Map(String jsonStr){ Map<String, Object> map = new HashMap<String, Object>(); //最外层解析 JSONObject json = JSONObject.fromObject(jsonStr); for(Object k : json.keySet()){ Object v = json.get(k); //如果内层还是数组的话,继续解析 if(v instanceof JSONArray){ List<Map<String, Object>> list = new ArrayList<Map<String,Object>>(); Iterator<JSONObject> it = ((JSONArray)v).iterator(); while(it.hasNext()){ JSONObject json2 = it.next(); list.add(parseJSON2Map(json2.toString())); } map.put(k.toString(), list); } else { map.put(k.toString(), v); } } return map; } public static List<Map<String, Object>> getListByUrl(String url){ try { //通过HTTP获取JSON数据 InputStream in = new URL(url).openStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(in)); StringBuilder sb = new StringBuilder(); String line; while((line=reader.readLine())!=null){ sb.append(line); } return parseJSON2List(sb.toString()); } catch (Exception e) { e.printStackTrace(); } return null; } public static Map<String, Object> getMapByUrl(String url){ try { //通过HTTP获取JSON数据 InputStream in = new URL(url).openStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(in)); StringBuilder sb = new StringBuilder(); String line; while((line=reader.readLine())!=null){ sb.append(line); } return parseJSON2Map(sb.toString()); } catch (Exception e) { e.printStackTrace(); } return null; } //test public static void main(String[] args) { String url = "http://..."; List<Map<String,Object>> list = getListByUrl(url); System.out.println(list); } }
相关推荐
json 转为map Java
json工具类,json转为对象,json转map。对象转json。便于使用
主要介绍了java 把json对象中转成map键值对的方法,本文的目的是把json串转成map键值对存储,而且只存储叶节点的数据。需要的朋友可以参考下
NULL 博文链接:https://wuniu2010.iteye.com/blog/1771934
jackson和json-lib两种方式实现map和json互转,别写出两者实现的区别,并上传了两者的包
多层嵌套json转换为Map再转换为单层 最近在实习的时候,需要将多层嵌套的json转换为单层的json。并且把json进行格式化。于是参照网上的网上的方法使用谷歌的gson利用递归的实现了多层json转换为单层的json。如 {...
Map转JSON的所有jar包,含使用说明
java对象转为json格式,同javascript进行数据交换。
该工具类包括多重的json字符串或Map或List的相互转换,该文件包括主要的jar包,可以快捷的使用工具
rapidjson将map转为json——人生苦短,我用rapidjson 直接撸代码: #include #include <map> // 请自己下载开源的rapidjson #include rapidjson/prettywriter.h #include rapidjson/rapidjson.h #include ...
页面向后台action传递一个json字符串,需要将json字符串转换成Map对象 public Map<String> toMap(Object object) { Map<String> data = new HashMap(); // 将json字符串转换成jsonObject JSONObject jsonObject...
主要介绍了利用gson将map转为json示例,需要的朋友可以参考下
主要介绍了在Java 8中将List转换为Map对象方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
解析JSON字符串成一个MAP、list、object和JAVA的类等转化成JSON语句。包括JSON相关的JAR
json操作其中包括了json的所有操作 例如List Map Set转为json字符串 把java 类转为字符串 把json串转为对象等
将map按ASCII码排序,适用于将请求头的参数转为map,map内可再含有map,递归排序,无遗漏。运行demo里main方法即可进行验证。
JSON转为Java对象 1. 导入jackson的相关jar包 2. 创建Jackson核心对象 ObjectMapper 3.调用ObjectMapper的相关方法进行转换 readValue(json字符串数据,Class) Java对象转换JSON 1. 导入jackson的相关...
今天小编就为大家分享一篇关于C++中rapidjson将嵌套map转为嵌套json的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
处理json格式数据。。 String s0 = "{cart_1325036696007:{goods_id:"100015",goods_name:"澳大利亚进口绵羊",goods_imgsrc:"http://192.168.1.180:7001//gwadmin/uploadimg/spxc/2011/12/9/100016_00948703_68.jpg"...