使用FastJson对数据的常用操作
来源:互联网 发布:cf数据异常得多长时间 编辑:程序博客网 时间:2024/05/21 11:14
Fastjson是阿里巴巴提供的一个Java语言编写的高性能功能完善的JSON库,可用于将Java对象转换为JSON表示形式。它也可以用于将JSON字符串转换为等效的Java对象。Fastjson可以使用任意Java对象,包括您没有源代码的预先存在的对象。
开源地址:https://github.com/alibaba/fastjson
Maven配置
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.24</version> </dependency>
package example;/** * @description:使用Fastjson * @author:JBL * @date:2017/4/10 */import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import com.alibaba.fastjson.TypeReference;import model.User;import java.util.*;/** * Fastjson,是阿里巴巴提供的一个Java语言编写的高性能功能完善的JSON库。 * 其开源的下载网址为:https://github.com/alibaba/fastjson。 */public class FastJsonExample { /** * String 转 jsonObject */ public static void getStrToJSONObject(){ StringBuffer buffer=new StringBuffer(); buffer.append("{"); buffer.append("\"age\":").append("27").append(","); buffer.append("\"name\":").append("\"张三\"").append(","); buffer.append("\"password\":").append("\"12567\""); buffer.append("}"); String jsonText=buffer.toString(); JSONObject jobj=JSON.parseObject(jsonText); System.out.println(jobj.get("password")); } /** * String 转 User对象 */ public static User getStrToObject(){ StringBuffer buffer=new StringBuffer(); buffer.append("{"); buffer.append("\"age\":").append("27").append(","); buffer.append("\"name\":").append("\"张三\"").append(","); buffer.append("\"password\":").append("\"12567\""); buffer.append("}"); String jsonText=buffer.toString(); return JSON.parseObject(jsonText,User.class); } /** * 通过fastjson把字符串转换成泛型数组 * TypeReference */ public static void string2List(){ StringBuffer buffer=new StringBuffer(); buffer.append("[{"); buffer.append("\"age\":").append("27").append(","); buffer.append("\"name\":").append("\"张三\"").append(","); buffer.append("\"password\":").append("\"12567\""); buffer.append("}]"); String jsonText=buffer.toString(); //转成成数组 User[] stu2 = JSON.parseObject(jsonText,new TypeReference<User[]>(){}); List<User> list = Arrays.asList(stu2); for(User st:list){ System.out.println(st.getName()); } // 转换成ArrayList ArrayList<User> list2 = JSON.parseObject(jsonText, new TypeReference<ArrayList<User>>(){}); for (int i = 0; i < list2.size(); i++) { User obj =(User) list2.get(i); System.out.println(obj.getName()); } } /** * 通过fastjson字符串转成List<User>对象 */ public static String getListObject(){ List<User> userList = new ArrayList<>(); User user1 = new User(); user1.setName("haha"); user1.setPassword("11111111"); userList.add(user1); User user2 = new User(); user2.setName("haha2"); user2.setPassword("22222"); userList.add(user2); //List 对象转JSON 字符串 String userStr= JSON.toJSONString(userList); //JSON 字符串 转 List 对象 List<User> userList2 = JSON.parseArray(userStr,User.class); System.out.println(userList2.get(0).getName()); return userStr; } /** * 通过fastjson把Map换成字符串转 */ public static void map2json(){ //创建一个Map对象 Map<String,String> map = new HashMap<String, String>(); map.put("username", "张三"); map.put("password", "2222"); map.put("age", "198"); String json = JSON.toJSONString(map,true); //转成JSON数据 Map<String,String> map1 = (Map<String,String>)JSON.parse(json); //遍历数组数据 for (String key : map1.keySet()) { System.out.println(key+":"+map1.get(key)); } } /** * 通过fastjson把Map换成字符串转 */ public static void map2JSON() { Map map = new HashMap(); map.put("name", "张三"); map.put("password", "3333"); map.put("age", "198"); String json = JSON.toJSONString(map); Map map1 = JSON.parseObject(json); for (Object obj : map.entrySet()) { Map.Entry<String, String> entry = (Map.Entry<String, String>) obj; System.out.println(entry.getKey() + "--->" + entry.getValue()); } } public static void main(String[] args) { //System.out.println(getStrToObject().getPassword()); // System.out.println(string2List()); //System.out.println(map2json()); System.out.println(getListObject()); }}
1 0
- 使用FastJson对数据的常用操作
- 阿里巴巴FastJson对数据的常用操作
- FastJSON 常用操作
- fastjson常用操作
- java使用fastjson进行数据的封装
- 利用fastjson对json转map的操作
- FastJson-fastjson的简单使用
- Java对【JSON数据的解析】--fastjson解析法
- fastjson 常用的方法
- fastjson的常用使用方法
- FASTJson常用的API
- 对数据的操作
- Android常用Json解析框架GSON和FastJson的使用
- iOS8.0 使用Photos.framework对相册的常用操作
- 使用Photos.framework对相册的常用操作
- 使用FastJson解析Json数据
- 使用FastJson解析Json数据
- 使用FastJson解析Json数据
- 折叠、展开
- ARToolKit在VS2013下的使用配置步骤
- SDOI2017 Round1解题报告
- unity3d(3)GameObject-游戏对象类
- Chinaz菜单
- 使用FastJson对数据的常用操作
- Spring Boot的新Gradle插件详解
- 无刷新弹出可拖动登录窗口
- 机器学习中的各种距离
- socket基本连接
- 如何在Ubuntu 16.04上安装并配置Redis
- Oracle12C--视图(十九)
- Dagger2实现依赖注入之深入探究
- 读取文件