JSON数组转Java List
来源:互联网 发布:js 手机端图片预览 编辑:程序博客网 时间:2024/05/15 08:58
本文使用alibaba开源项目fastjson与SourceForge开源项目JSON-lib两种方法转换json。
现有json文件user.json如下:
[ { "userid": "309BCCE3-8525-4D33-9856-5084E24FD96F", "username": "林梦", "password": "19bdec7440acd44c669240ed534fc2f6", "partment": "专案一组", "tel": "123", "email": "meng@baal.xyz", "tag": "专案", "creater": "", "time": "2016-10-24T08:10:51.101Z", "token": "" }, { "userid": "FDA8B18B-E6EB-4C80-8A4B-0B2B27AEB7E2", "username": "汪小雨", "password": "19bdec7440acd44c669240ed534fc2f6", "partment": "专案三组", "tel": "123", "email": "xiaoyu@baal.xyz", "tag": "专案", "creater": "", "time": "2016-10-24T08:12:28.869Z", "token": "" }]创建数据模型User类,属性如下:
public class User {private String userid;private String username;private String password;private String partment;private String tel;private String email;private String tag;private String creater;private String time;private String token;......}
1、使用fastjson
import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.util.List;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;public class JsonToList_fastjson {private static final String User_Path = "d:/user.json";private static final String Message_Path = "d:/message.json";public static List<User> getUsers() {String userString = fileToStr(User_Path);List<User> list = JSONObject.parseArray(userString,User.class);return list;}public static String fileToStr(String filepath) {File file = new File(filepath);StringBuffer sb = new StringBuffer();InputStreamReader isr = null;try {isr = new InputStreamReader(new FileInputStream(file), "UTF-8");while (isr.ready()) {sb.append((char) isr.read());}} catch (IOException e) {e.printStackTrace();} finally {try {isr.close();} catch (IOException e) {e.printStackTrace();}}return sb.toString();}public static void main (String [] args) {List<User> listUsers = getUsers();for (User user : listUsers) {System.out.println(user.getEmail());}JSONArray array = (JSONArray) JSONArray.toJSON(listUsers);System.out.println(array);}}
2、使用JSON-lib,相关jar包也可以在这里下载
import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.util.List;import net.sf.json.JSONArray;public class JsonToList {private static final String User_Path = "d:/user.json";@SuppressWarnings("unchecked")public static List<User> getUsers() {String userString = fileToStr(User_Path);JSONArray array = JSONArray.fromObject(userString);List<User> list = null;list = (List<User>) JSONArray.toCollection(array, User.class);return list;}public static String fileToStr(String filepath) {File file = new File(filepath);StringBuffer sb = new StringBuffer();InputStreamReader isr = null;try {isr = new InputStreamReader(new FileInputStream(file), "UTF-8");while (isr.ready()) {sb.append((char) isr.read());}} catch (IOException e) {e.printStackTrace();} finally {try {isr.close();} catch (IOException e) {e.printStackTrace();}}return sb.toString();}public static void main(String[] args) {List<User> list = getUsers();for (User user : list) {System.out.println(user.getUsername());}JSONArray array = JSONArray.fromObject(list);System.out.println(array);}}
JSON-lib API :Doc
0 0
- JSON数组转Java List
- json 转list 集合数组
- java list转json
- Java读取json数组转化成List或Object数组
- java 数组转List
- java 数组转List
- Java 数组转List
- java数组转List
- fastJson将json数组转list对象
- java list集合转json
- Java List转Json字符串
- json转java object list
- java list map 转json
- json遍历数组LIST
- java中将数组、对象、Map、List转换成JSON数据(转自其他博客
- java中将数组、对象、Map、List转换成JSON数据
- java中将数组、对象、Map、List转换成JSON数据
- java中将数组、对象、Map、List转换成JSON数据
- OpenCV人脸检测并把图片写成avi视频
- 多线程-Semaphore
- 2016.10.24 C++循环和数组
- Java面向对象三大特性
- leetcode217: Contains Duplicate
- JSON数组转Java List
- 2013_chengdu_onsite
- C语言之mystrcat
- xUtils 的使用(含版本迭代)
- 【PHP】流程控制
- [LeetCode343]Integer Break
- Android返回键后台程序不退出
- USB协议架构及驱动架构
- 数据库范式(转载)