Json字符串转对象和转List集合操作(alibabab版本)

Json是当前开发用得最多基于JavaScript语言的轻量级的数据交换格式,总结一下常用转换格式的方法,以便日后使用方便

以下为 alibabab 包各种 JSON 转换的方法总结:

1. 所需引入的第三方包:

                <dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.9.3</version></dependency><dependency><groupId>commons-collections</groupId><artifactId>commons-collections</artifactId><version>3.2.1</version></dependency><dependency><groupId>commons-lang</groupId><artifactId>commons-lang</artifactId><version>2.6</version></dependency><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.2</version></dependency><dependency><groupId>net.sf.ezmorph</groupId><artifactId>ezmorph</artifactId><version>1.0.4</version></dependency><dependency><groupId>net.sf.json-lib</groupId><artifactId>json-lib</artifactId><version>2.4</version><classifier>jdk13</classifier></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.28</version></dependency>

2. 对象User类

package com.lmx.demo;public class User
{private String cId;private String uName;private String pwd;public  User(){}public  User(String cId, String uName, String pwd){this.cId = cId;this.uName = uName;this.pwd = pwd;}public String getcId(){return cId;}public void setcId(String cId){this.cId = cId;}public String getuName(){return uName;}public void setuName(String uName){this.uName = uName;}public String getPwd(){return pwd;}public void setPwd(String pwd){this.pwd = pwd;}}

3. Json各类转换

package com.lmx.demo;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;/*** alibaba 第三方包 Json 转换用法* @author LMX**/
public class Main
{/*** 1.通过JSON.parse把json转换为Map* * @param jsonStr*/public void getJsonToMap(){String jsonStr = "{\"userName\":\"lmx\",\"pwd\":\"123456\",\"address\":\"sz\",\"Id\":\"1\"}";Map maps = (Map)JSON.parse(jsonStr);for (Object map : maps.entrySet()){System.out.println("key为:" + ((Map.Entry)map).getKey() + ", 值为:" + ((Map.Entry)map).getValue());}/* 输出:   key为:address, 值为:szkey为:Id, 值为:1key为:userName, 值为:lmxkey为:pwd, 值为:123456   */}/*** 2.通过JSON.parseObject把json转换为Map* * @param jsonStr* @return*/public void getJsonToMapByClass(){String jsonStr = "{\"userName\":\"lmx\",\"pwd\":\"123456\",\"address\":\"sz\",\"Id\":\"1\"}";Map mapTypes = JSON.parseObject(jsonStr, Map.class);for (Object obj : mapTypes.keySet()){System.out.println("key为:" + obj + ", 值为:" + mapTypes.get(obj));}/*  输出:  key为:address, 值为:szkey为:Id, 值为:1key为:userName, 值为:lmxkey为:pwd, 值为:123456*/}/*** 3.通过JSON.parseObject把json转换为Object* * @param jsonStr* @return*/public void getJsonToObject(){String jsonStr = "{\"userName\":\"lmx\",\"pwd\":\"123456\",\"address\":\"sz\",\"Id\":\"1\"}";Map mapTypes = JSON.parseObject(jsonStr);for (Object obj : mapTypes.keySet()){System.out.println("key为:" + obj + ", 值为:" + mapTypes.get(obj));}/* 输出: key为:address, 值为:szkey为:Id, 值为:1key为:userName, 值为:lmxkey为:pwd, 值为:123456*/}/*** 4.通过JSONObject.parse把json转换为Map* * @param jsonStr*/public void getJSONObjectToMap(){String jsonStr = "{\"userName\":\"lmx\",\"pwd\":\"123456\",\"address\":\"sz\",\"Id\":\"1\"}";Map json = (Map)JSONObject.parse(jsonStr);for (Object map : json.entrySet()){System.out.println("key为:" + ((Map.Entry)map).getKey() + ", 值为:" + ((Map.Entry)map).getValue());}/* 输出: key为:address, 值为:szkey为:Id, 值为:1key为:userName, 值为:lmxkey为:pwd, 值为:123456*/}/*** 5.通过JSONObject.parseObject把json转换为JSONObject,并遍历单Object输出* * @param jsonStr*/public void getJSONObjectToObject(){String jsonStr = "{\"userName\":\"lmx\",\"pwd\":\"123456\",\"address\":\"sz\",\"Id\":\"1\"}";JSONObject jsonObject = JSONObject.parseObject(jsonStr);for (Object map : jsonObject.entrySet()){System.out.println("key为:" + ((Map.Entry)map).getKey() + ", 值为:" + ((Map.Entry)map).getValue());}/* 输出: key为:address, 值为:szkey为:Id, 值为:1key为:userName, 值为:lmxkey为:pwd, 值为:123456*/}/*** 6.通过JSONObject.parseObject把json转换为Map* * @param jsonStr*/public void getJSONObjectToMapClass(){String jsonStr = "{\"userName\":\"lmx\",\"pwd\":\"123456\",\"address\":\"sz\",\"Id\":\"1\"}";Map mapObj = JSONObject.parseObject(jsonStr, Map.class);for (Object map : mapObj.entrySet()){System.out.println("key为:" + ((Map.Entry)map).getKey() + ", 值为:" + ((Map.Entry)map).getValue());}/* 输出: key为:address, 值为:szkey为:Id, 值为:1key为:userName, 值为:lmxkey为:pwd, 值为:123456*/}// List集合和JSON相互转换工具类///*** 7.通过JSON.toJSONString把List<T>转换为json* * @param obj* @return*/public static <T> String getListToJson(List<T> obj){String jsonStr = JSON.toJSONString(obj);return jsonStr;// String输出: ["aa","bb","cc"]// userModel输出: [{"cId":"100","pwd":"123456","uName":"lmx"},{"cId":"200","pwd":"123456","uName":"jqy"}]}/*** 8.通过JSONArray.parseArray把json转换为List<T>* * @param jsonStr* @param model* @return*/public static <T> List<T> getStringToList(String jsonStr, Class<T> model){List<T> object = (List<T>)JSONArray.parseArray(jsonStr, model);return object;// String输出: "aa","bb","cc"// userModel输出: lmx,jqy}// 对象和JSON相互转换工具类//*** 9.通过JSONObject.toJSONString把对象转换为String* @param model* @return*/public static <T> String getObjectToJson(T model){String StrObject = JSONObject.toJSONString(model);return StrObject;// User输出: {"cId":"100","pwd":"123456","uName":"lmx"}// Map输出:  {"uName":"llmmxx","pwd":"123","cId":"300"}}/*** 10.通过JSONObject.parseObject把String转换为对象* @param jsonStr* @param model* @return*/public static <T> T getStringToObject(String jsonStr, Class<T> model){return JSONObject.parseObject(jsonStr, model);// User输出:  {"cId":"100","pwd":"123456","uName":"lmx"}// Map输出:   {"uName":"llmmxx","pwd":"123","cId":"300"}}/*** 11 .通过fluentPut添加一个值* fluentPutAll  fluentPut* @param jsonStr* @return */public void setAddJSONObject(){String jsonStr = "{\"userName\":\"lmx\",\"pwd\":\"123456\",\"address\":\"sz\",\"Id\":\"1\"}";JSONObject jsonObject = JSONObject.parseObject(jsonStr);jsonObject.fluentPut("lll", "111");Map<String, String> der = new HashMap<String, String>();der.put("der1", "der1");der.put("der2", "der2");der.put("der3", "der3");jsonObject.fluentPutAll(der);//jsonObject.fluentClear();清除for (Object map : jsonObject.entrySet()){System.out.println("key为:" + ((Map.Entry)map).getKey() + ", 值为:" + ((Map.Entry)map).getValue());}/*  输出: key为:uName, 值为:lmxkey为:pwd, 值为:123456key为:der3, 值为:der3key为:lll, 值为:111key为:der1, 值为:der1key为:cId, 值为:100key为:der2, 值为:der2*/}@SuppressWarnings("static-access")public static void main(String[] args){// TODO Auto-generated method stubMain m = new Main();// 1System.out.println("getJsonToMap:");m.getJsonToMap();// 2System.out.println("getJsonToMapByClass:");m.getJsonToMapByClass();// 3System.out.println("getJsonToObject:");m.getJsonToObject();// 4System.out.println("getJSONObjectToMap:");m.getJSONObjectToMap();// 5System.out.println("getJSONObjectToObject:");m.getJSONObjectToObject();// 6System.out.println("getJSONObjectToMapClass:");m.getJSONObjectToMapClass();// 7.1 StringSystem.out.println("getListToJson by String:");List<String> StrModel = new ArrayList<String>();StrModel.add("aa");StrModel.add("bb");StrModel.add("cc");String strString = m.getListToJson(StrModel);System.out.println(strString);// 7.2 UserSystem.out.println("getListToJson by userModel:");List<User> userModel = new ArrayList<User>();User u = new User();u.setcId("100");u.setuName("lmx");u.setPwd("123456");User u1 = new User();u1.setcId("200");u1.setuName("jqy");u1.setPwd("123456");userModel.add(u);userModel.add(u1);String strUser = m.getListToJson(userModel);System.out.println(strUser);// 8.1 String System.out.println("getJsonToList by String:");List<String> strLists = m.getStringToList(strString, String.class);for (String strList : strLists){System.out.println(strList);}//8.2 User对象System.out.println("getJsonToList by User:");List<User> userLists = m.getStringToList(strUser,User.class);for (User userList : userLists){System.out.println(userList.getuName());}//9.1 User对象System.out.println("getObjectToJson by User:");String strUsers  = m.getObjectToJson(u);System.out.println(strUsers);//9.2 MapSystem.out.println("getObjectToJson by Map:");Map<String , String> userMap = new HashMap<String, String>();userMap.put("cId", "300");userMap.put("uName", "llmmxx");userMap.put("pwd", "123");String strUsersMap  = m.getObjectToJson(userMap);System.out.println(strUsersMap);/*        //9.3 User对象System.out.println("getObjectToJson by User:");String strObjectUser = m.getObjectToJson(strUsers);System.out.println(strObjectUser);//9.4 Map对象System.out.println("getObjectToJson by Map:");String strObjectMap  = m.getObjectToJson(strUsersMap);System.out.println(strObjectMap);*///10.1 User对象System.out.println("getStringToObject by User:");User stringObjectUser  = m.getStringToObject(strUsers,User.class);System.out.println(JSONObject.toJSONString(stringObjectUser).toString());//10.2 Map对象System.out.println("getStringToObject by Map:");Map stringObjectMap  = m.getStringToObject(strUsersMap,Map.class);System.out.println(JSONObject.toJSONString(stringObjectMap).toString());//11System.out.println("setAddJSONObject by User:");m.setAddJSONObject();}}

Json字符串转对象和转List集合操作(json-lib版本)

https://blog.csdn.net/liangmaoxuan/article/details/80642880


总结不好多多担待,文章只单纯个人总结,如不好勿喷,技术有限,有错漏麻烦指正提出。本人QQ:373965070

Json字符串转对象和转List集合操作(alibabab版本)相关推荐

  1. Json字符串转对象和转List集合操作(json-lib版本)

    Json字符串转对象和转List集合操作(json-lib版本) Json是当前开发用得最多基于JavaScript语言的轻量级的数据交换格式,总结一下常用转换格式的方法,以便日后使用方便 以下为 j ...

  2. Json字符串和对象相互转换

    文章目录 1.JsonUtil 工具类 把对象转换为json字符串 把json字符串转换为对象 把json字符串转换为List集合 2.Gson 把对象转换为json字符串 把json字符串转换为对象 ...

  3. c#谷歌 json转对象_利用Google Gson实现JSON字符串和对象之间相互转换

    最近一个项目需要用到JSON,需要在JSON字符串和对象之间相互转换,在网上找了些资料,发现google的Gson还是比较不错的. 废话不说,下面是简单的例子: 先上源码:下载(包含jar包) Per ...

  4. .NET后台字符中转JSON,和JSON字符串转对象

    长的字符串转为对象后,更容易循环遍历操作 string allSQL = "";//以下是多个JSON字符串的集合,先拆分 //strDrugJSON = [{"drug ...

  5. 开发:随笔记录之 Json字符串和对象的相互转换

    引入的包 :json-lib-2.1.jar import net.sf.json.JSONArray; import net.sf.json.JSONObject; //随意创建一个实体 RuleD ...

  6. JSON字符串和对象之间的转换

    使用jackSON来实现JSON字符串和对象之间的转换 引入maven <!--jackson--><dependency><groupId>com.fasterx ...

  7. json字符串和对象的相互转换

    大家好呀,我是柚子,今天这篇文章介绍的是json字符串和对象的相互转换~ 文章目录 举例 一.json字符串转对象 1.单个对象 2.多个对象 二.对象转json字符串 1.第一种方式 2.第二种方式 ...

  8. 将Json字符串转为对象JSONObject

    将Json字符串转为对象JSONObject 有些JSON类型的字符串无法直接转对象,需要先做处理.例如dataWrap.collectData()收集的数据: jsonStr = {"da ...

  9. json字符串转对象的几种方式

    1. java自带的原生sf.json json字符串转对象 import net.sf.json.JSONObjectString response="{\"status\&qu ...

最新文章

  1. php u6536编码转,详谈PHP编码转换问题
  2. SAP CRM Fiori应用My Lead的常见问题和解答
  3. STM32那点事(3)_中断(上)
  4. 使用Regsvr32命令修复系统故障
  5. 蓝桥杯 ADV-238 算法提高 P0101
  6. 6.1(数学:五角数)
  7. 【转】Javabyte[]数组和十六进制String之间的转换Util------包含案例和代码
  8. 遗传算法是机器学习算法嘛?_基于遗传算法的机器人控制器方法
  9. 分布估计算法(Estimation of Distribution Algorithm)
  10. 串口连接BBB(三)
  11. python商城管理系统_【程序源代码】全端商城管理系统(后台+小程序)
  12. 【未完成】【甄选靶场】Vulnhub百个项目渗透——项目四十一:DEFCON Toronto-Galahad(图像深层分析,流量分析)
  13. 2017 蓝桥杯决赛 C++B(2)瓷砖样式 dfs + hash去重
  14. 2021年美赛MCM赛题C题翻译
  15. 20200305沈剑阿里云MVP分享笔记
  16. 《SSO系列二》自己动手写一个SSO
  17. 【记一次】电脑可以ping通百度,但是浏览器无法访问
  18. SQL Server 比较日期大小的方法
  19. 数据结构 判断括号是否匹配
  20. Java系列技术之JavaWeb入门-钟洪发-专题视频课程

热门文章

  1. 教机器写代码:增强拓扑进化网络(NEAT)
  2. JavaScript使用正则表达
  3. MFC控件——ListCtrl控件[翻译](续)
  4. excel 導入數據庫的代碼
  5. 无法定位序数于动态库mfc90d.dll上 由于应用程序配置不正确...解决方法
  6. 树莓派 pip 手动安装 和使用阿里云源
  7. python资源库——socket网络编程
  8. 时间模块(import time)
  9. intellij jsp 中文乱码
  10. 简单的进度条拖动效果及拖拽改变层大小