將json字符串按照key-value的格式轉化爲Map,保留原有的層次結構.
1. 引入json-lib相關聯的jar包
- commons-beanutils-1.8.3.jar
- commons-collections-3.2.1.jar
- commons-lang-2.6.jar
- commons-logging-1.1.1.jar
- ezmorph-1.0.6.jar
- json-lib-2.4-jdk15.jar
package top.itart;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import net.sf.json.JSONObject;
public class Json {
public static void main(String[] args) {
String json = "{'user':{'name':'Jacy','age':'100'}, 'blog':{'blog1':'itart.cn','blog2':'itart.top'}}";
Map<String, Object> map = convertToMap(JSONObject.fromObject(json));
System.out.println(map);
}
private static Map<String, Object> convertToMap(JSONObject jsonObject)
{
HashMap<String, Object> data = new HashMap<String, Object>();
Iterator<?> it = jsonObject.keys();
while (it.hasNext())
{
String key = String.valueOf(it.next());
Object value = jsonObject.get(key);
if (value instanceof JSONObject) {
data.put(key, convertToMap((JSONObject) value));
} else {
data.put(key, value);
}
}
return data;
}
}
來源: IT藝術博客(http://www.itart.cn)