現在項目當中用到JSON格式越來越多,之前查過一些解析JSON的資料結果發現都不怎麼全,現在整理一下。
注:很多來自於java解析JSON字符串,我只是做了一些簡化。
運行這個類需要加載jar包:ezmorph-1.0.6.jar、json-lib-2.4-jdk15.jar、commons-beanutils-1.8.0.jar、commons-collections.jar、commons-lang-2.4.jar、commons-logging-1.1.1.jar。
commons-beanutils-1.8.0.jar不加這個包將會報錯:
java.lang.NoClassDefFoundError: org/apache/commons/beanutils/DynaBean
commons-collections.jar 不加這個包將會報錯:
java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap
commons-lang-2.4.jar不加這個包將會報錯:
java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException
commons-logging-1.1.1.jar不加這個包將會報錯:
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
ezmorph-1.0.6.jar不加這個包將會報錯:
java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher
json-lib-2.4-jdk15.jar不加這個包將會報錯:
java.lang.NoClassDefFoundError: net/sf/json/JSONObject
相應jar包可到網上下載,也可以用下面提供的!
package jsonTest;
import net.sf.json.JSONObject;
public class TestJson
{
// json字符串
private static String jsonStr = "{\"name\":\"zhangsan\",\"age\":12}";
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception
{
JSONObject jo = JSONObject.fromObject(jsonStr);
System.out.println(jo.get("name"));
System.out.println(jo.get("age"));
}
}
上面給出的是一個很小的例子,如果大家需要用JSON數據轉Map、List等或者Map、List轉JSON數據,請參考:java解析JSON字符串
jar包資源:java解析JSON所需的全部jar包