• jar引用
<dependency><groupId>net.sf.json-lib</groupId><artifactId>json-lib</artifactId><version>2.4</version><classifier>jdk15</classifier>
</dependency>
  • json数据
[{"address": "北京","sex": "女","name": "小丽","age": "23"
}, {"address": "西安","sex": "女","name": "张三","age": "20"
}, {"address": "广州","sex": "男","name": "小王","age": "2"
}, {"address": "广州","sex": "男","name": "王五","age": "27"
}, {"address": "厦门","sex": "男","name": "小王","age": "29"
}, {"address": "北京","sex": "女","name": "小丽","age": "23"
}]
  • 完整代码
package com.example.exceldemo;//替换成自己java类所在的包import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import java.io.*;
import java.util.*;/*** json数组转list<Map>*/
public class JsonToList {public static void main(String[] args) {String json = readJson();JSONArray array = JSONArray.fromObject(json);List<Map<String, Object>> list = (List<Map<String, Object>>) translate(array);System.out.println(list);}/*** 读取json文件* @return*/public static String readJson(){FileInputStream inputStream = null;InputStreamReader reader = null;BufferedReader bf = null;StringBuffer sf = null;try {inputStream = new FileInputStream(new File("src/main/resources/static/json/user.json"));reader = new InputStreamReader(inputStream, "UTF-8");bf = new BufferedReader(reader);sf = new StringBuffer();String json = null;while ((json = bf.readLine()) != null) {sf.append(json);}} catch (Exception e) {e.printStackTrace();} finally {try {inputStream.close();reader.close();bf.close();} catch (IOException e) {e.printStackTrace();}}return sf.toString();}/*** 将JSONArray对象转换成List集合** @param json* @return* @see*/public static Object translate(JSONArray json) {List<Object> list = new ArrayList<Object>();for (Object o : json) {if (o instanceof JSONArray)list.add(translate((JSONArray) o));else if (o instanceof JSONObject)list.add(translate((JSONObject) o));elselist.add(o);}return list;}/*** 将JSONObjec对象转换成Map集合** @param json* @return* @see*/public static HashMap<String, Object> translate(JSONObject json) {HashMap<String, Object> map = new HashMap<String, Object>();Set keys = json.keySet();for (Object key : keys) {Object o = json.get(key);if (o instanceof JSONArray)map.put((String) key, translate((JSONArray) o));else if (o instanceof JSONObject)map.put((String) key, translate((JSONObject) o));elsemap.put((String) key, o);}return map;}}
  • 输出

[{address=北京, sex=女, name=小丽, age=23}, {address=西安, sex=女, name=张三, age=20}, {address=广州, sex=男, name=小王, age=2}, {address=广州, sex=男, name=王五, age=27}, {address=厦门, sex=男, name=小王, age=29}, {address=北京, sex=女, name=小丽, age=23}]

json数组转换成list map相关推荐

  1. 【FastJson】使用FastJson将Json数组转换成字符串

    使用FastJson将Json数组转换成字符串 待处理的数据 代码实现 可以看出,Json数据像一个数组,里面的每一个元素都是一个对象,所以我们首先要定义出一个对象来存储数据 public class ...

  2. go json字符串转换成结构体,json字符串数组转换成切片

    例子1:把字符串转换成结构体:{"FromUid":"100","FromName":"HANASHAN"} packa ...

  3. JSON对象转换成Byte(字节)数组

    2019独角兽企业重金招聘Python工程师标准>>> 如果你不了解JSON对象,请看这里 // JSON对象转换成 byte 数组     Byte *byteArray = (B ...

  4. Json对象转换成Json数组

    问题 在写单元测试是报错如下: JSON解析错误:不能将JavaUTIL.AARYLIST实例反序列化到StaskObjo对象令牌中 代码: 自己解决了挺长时间,也没研究出什么好的办法,最后问朴世超组 ...

  5. js中如何把 json对象转换成 数组

    // var data2 = JSON.parse(data); // JSON.parse() 把 json字符串 转化成 json 对象 // var a = JSON.stringify(dat ...

  6. vue将数组转换json字符串:JSON.stringify()以及json字符串转换成vue数组:

    JSON.stringify():方法用于将 JavaScript 值转换为 JSON 字符串. 语法 JSON.stringify(value [, replacer] [, space]) val ...

  7. Jackson将json字符串转换成泛型List/map

    Jackson将json字符串转换成泛型List/map url: http://www.cnblogs.com/quanyongan/archive/2013/04/16/3024993.html ...

  8. gson java 对象_Gson把json串转换成java实体对象

    Gson把json串转换成java实体对象的方法如下: 1.首先导入Gson的jar包,网上可以下载. java实体对象如下: public class Model { private double ...

  9. JSON字符串转换成List对象集合

    前两天被一个很没意思的问题给难住了,看来最近没有复习巩固,有些知识都忘了怎么运用了. 简单说下: 有一个json字符串,我想通过jackson把json字符串转换成list对象集合,网上找了很多,但都 ...

最新文章

  1. python在哪写代码-python的代码写在哪里,怎么样运行python代码
  2. java每日小算法(22)
  3. spring源码深度解析—Spring的整体架构和环境搭建
  4. mysql的几种插入语句_Mysql 几种常见的插入 Insert into,Replace Into,Insert ignore
  5. 国二计算机考试技巧,全国计算机等级考试上机考试应试技巧(二)
  6. C语言 回调函数 produce(arr,len,getRand)
  7. 输出源文件的标题,目前执行行的行数,编译时间
  8. 简单的高可用集群实验
  9. 解决Java中JDBC方式连接不了各类数据库问题
  10. 从socket中可以获取信息
  11. 第二十四讲 一阶常微分方程组
  12. 一对一直播app源码开发的前端实现
  13. 圆角半角数据库_SQL SERVER 全角和半角的解决方法
  14. 在线文档 - Google drive
  15. We Dont Kown ....
  16. 网络安全能力认证CCSC技术Ⅰ级认证培训
  17. 克隆系统安装安全软件避免重复ID 方法
  18. 【设计模式-手写源码-附1】-简单工厂模式-基于魔兽争霸冰封王座
  19. ipv6地址数中/32,/48,/64含义
  20. 关于3ds Max在镜像时会出现乱线的问题!

热门文章

  1. H3C 三层交换机策略路由配置方法
  2. 科学计算机恢复初始化,电脑怎样恢复出厂设置
  3. Buck工作原理分析,连续模式,断续模式
  4. gamit10.70报错 Interval to minimum,something wrong with ICs or model
  5. 应该和群还是独来独往
  6. find: paths must precede expression
  7. java.lang.ClassNotFoundException:org.apache.struts2.dispatcher.FilterDispatcher
  8. ruoyi-vue数据库配置
  9. A Reinforcement Learning Framework for Medical Image Segmentation翻译
  10. 6-2 人口统计 (20 分)