java json转map工具类_JSON转MAP工具类

public static void main(String[] args) {

String str = "{\"ID\":1,\"remark\":\"你好\",\"price\":1.2,\"sub\":"

+ "["

+ "{\"ID\":2,\"parentId\":1,\"remark\":\"我是子级\"}"

+ ",{\"ID\":3,\"parentId\":1,\"remark\":\"我是子级2\"}"

+ "]"

+"}";

Map rootMap = JsonUtils.jsonToMap(JSONObject.fromObject(str));

for (Map.Entry entry : rootMap.entrySet()) {

if (entry.getKey().equals("sub")) {

List> subList = jsonToList(entry.getValue());

int i = 0;

for (Map subMap : subList) {

i++;

for (Map.Entry subEntry : subMap.entrySet()) {

System.out.println("sub" + i + "#" + subEntry.getKey()

+ ":" + subEntry.getValue());

}

}

continue;

}

System.out.println(entry.getKey() + ":" + entry.getValue());

}

}

运行结果:

99a95f89040305db6ef70e5f32bc6f83.png

下面是JSON工具类代码:

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.Set;

import net.sf.json.JSONArray;

import net.sf.json.JSONObject;

public class JsonUtils {

/**

*

* @Description : Object转Map

* @param

* @return

* @author DeanFan

*/

public static List> jsonToList(Object obj) {

List> list = new ArrayList>();

List> jsonObjectList = reflect(JSONArray.fromObject(obj));

for (Object object : jsonObjectList) {

list.add(jsonToMap(JSONObject.fromObject(object)));

}

return list;

}

/**

*

* @Description :JSONObject转Map

* @param

* @return

* @author DeanFan

*/

public static Map jsonToMap(JSONObject jsonObject) {

Map map = new HashMap();

Set> keys = jsonObject.keySet();

for (Object key : keys) {

Object o = jsonObject.get(key);

if (o instanceof JSONArray)

map.put((String) key, reflect((JSONArray) o));

else if (o instanceof JSONObject)

map.put((String) key, jsonToMap((JSONObject) o));

else

map.put((String) key, o);

}

return map;

}

/**

*

* @Description : JSONObject转List

* @param json

* @return

* @author DeanFan

*/

public static List> reflect(JSONArray jsonArray) {

List list = new ArrayList();

for (Object o : jsonArray) {

if (o instanceof JSONArray)

list.add(reflect((JSONArray) o));

else if (o instanceof JSONObject)

list.add(jsonToMap((JSONObject) o));

else

list.add(o);

}

return list;

}

}

使用到json-lib-2.4-jdk15.jar

下载:http://pan.baidu.com/s/1geSHhir

Maven引用:

net.sf.json-lib

json-lib

2.4

jdk15

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值