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());
}
}
运行结果:
下面是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