博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Json字符串转Map对象
阅读量:5886 次
发布时间:2019-06-19

本文共 2175 字,大约阅读时间需要 7 分钟。

hot3.png

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
> parseJSON2List(String jsonStr){ JSONArray jsonArr = JSONArray.fromObject(jsonStr); List
> list = new ArrayList
>(); Iterator
it = jsonArr.iterator(); while(it.hasNext()){ JSONObject json2 = it.next(); list.add(parseJSON2Map(json2.toString())); } return list; } public static Map
parseJSON2Map(String jsonStr){ Map
map = new HashMap
(); //最外层解析 JSONObject json = JSONObject.fromObject(jsonStr); for(Object k : json.keySet()){ Object v = json.get(k); //如果内层还是数组的话,继续解析 if(v instanceof JSONArray){ List
> list = new ArrayList
>(); Iterator
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
> 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
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
> list = getListByUrl(url); System.out.println(list); } }

 

转载于:https://my.oschina.net/hackenhu/blog/730651

你可能感兴趣的文章
如何去掉NavigationBar的backButton
查看>>
MySQL · 特性分析 · 数据一样checksum不一样
查看>>
《工业控制网络安全技术与实践》一2.3.1 可编程逻辑控制器
查看>>
用友优普携手秉钧网络打造完整闭环O2O方案
查看>>
展望网络安全未来 布局新兴信息技术
查看>>
《中国人工智能学会通讯》——11.71 在线多示例度量学习的结构化稀 疏表观模型...
查看>>
BetterFE 前端技术周刊 - 2019/02/25
查看>>
前端小知识10点(2019.5.2)
查看>>
1. 函数式编程
查看>>
web归纳
查看>>
云计算面试题笔试锦集,云计算实用面试题答案一
查看>>
javascript之__proto__ 和prototype
查看>>
10 个 Python 初学者必知编码小技巧
查看>>
LeetCode 700——二叉搜索树中的搜索
查看>>
LeetCode 4——两个排序数组中的中位数
查看>>
第58节:Java中的图形界面编程-GUI
查看>>
解决微信小程序的wx-charts插件tab切换时的显示会出现位置移动问题-tab切换时,图表显示错乱-实现滑动tab...
查看>>
CentOS7 0 安装 RocketMq
查看>>
iOS移动安全-Charles (五)
查看>>
给自己出的iOS面试题
查看>>