json 转换为 map、对象
来源:互联网 发布:lols7野怪经验图数据帝 编辑:程序博客网 时间:2024/06/05 10:36
1.如果转换的是Map、或者是简单的对象
package com.gc.action;import java.util.Map;import net.sf.json.JSONObject;/** * 1.json string 转换为 map * 2.json string 转换为 对象 * @author zhangtengda * */public class JsonUtils { public static void main(String[] args) { String jsonStr = "{\"status\":\"0\",\"data\":{\"name\":\"tom\",\"age\":18}}"; // ================================ // 1.如果是拿出来最外层的 map Map<Object, Object> result = jsonToMap(jsonStr); System.out.println(result.get("status")); System.out.println(result.get("data")); // 2.如果进步一拿到内层的 map Map<Object, Object> data = jsonToMap(result.get("data")); System.out.println(data.get("name")); System.out.println(data.get("age")); // ================================ Long beginTime = System.currentTimeMillis(); // 3.转换为对象 String personStr = "{\"id\":12,\"name\":\"mary\"}"; Person person = jsonToBean(personStr, Person.class); System.out.println(person); System.out.println("耗时:" +( System.currentTimeMillis() - beginTime)); } /** * json string 转换为 map 对象 * @param jsonObj * @return */ public static Map<Object, Object> jsonToMap(Object jsonObj) { JSONObject jsonObject = JSONObject.fromObject(jsonObj); Map<Object, Object> map = (Map)jsonObject; return map; } /**json string 转换为 对象 * @param jsonObj * @param type * @return */ public static <T> T jsonToBean(Object jsonObj, Class<T> type) { JSONObject jsonObject = JSONObject.fromObject(jsonObj); T obj =(T)JSONObject.toBean(jsonObject, type); return obj; } }
使用到的 Person.java
package com.gc.action;public class Person{ private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Person(int id, String name) { super(); this.id = id; this.name = name; } public Person() { } @Override public String toString() { return "id : " + id + " name : " + name; }}
maven 依赖
<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier></dependency>
注意这个只是进行简单的 json 和 string 之间的互转,如果是进行复杂对象的 json 转换这个就无法行得通了,需要使用 jackson 工具包来实现了,它可以实现复杂对象的转换,包括对象里面有 list 都可以的
复杂对象的 json 转换参考:
复杂对象 json 转换 工具类实例
0 0
- json 转换为 map、对象
- 对象、list、map、set等转换为json
- java中Map等对象转换为json
- java中Map等对象转换为json
- 将对象、Map或者List转换为Json串
- 使用Jackson将JSON字符串转换为MAP对象
- Map 转json,json转换为Map
- 对象转换为Map
- json转换为对象
- JSON字符串转换为Map
- JSON字符串转换为Map
- JSON字符串转换为Map
- 将json 数组转换为Map 对象;[{}]此类字符串 则返回的对象的map
- json(3)---java中对象、数组、list、map转换为json对象
- Map集合转换JSON对象
- Json字符串转换Map 对象
- java方式的将java对象以及list或者map转化为json数据,json转换为object或者map
- 将json 数组转换为Map 对象;为[{},{},{}]此类字; 则返回每个{}对象的map;
- Android图形系统之Surface、SurfaceView、SurfaceHolder及SurfaceHolder.Callback之间的联系 && camera的takePicture实例
- web.xml实例
- 使用EventBus进行组件间通讯
- python包安装——Swig
- 思科交换机提供的三种交换模式
- json 转换为 map、对象
- 编译安装及配置PHP7
- android bulid
- BASE64、MD5、SHA、HMAC几种加密算法
- jqGrid 各种参数 详解
- 再谈iOS 7的左边缘手势右滑动返回功能
- 长连接与短连接
- 2-100中所有质数分析
- 有趣的checkbox动画切换状态(支付宝转账成功显示)--第三方开源--AnimCheckBox