做一個map和字符串的轉換,需要導入這些jar包,這是最基本的一些jar包.
經過多方嘗試得出結論入下:
首先導入基本包:json-lib-2.2.3-jdk15.jar
如果沒有這個jar包,程序是寫不起來的.
現在保證了程序編譯能夠通過,跑一下
出現異常:org/apache/commons/lang/exception/NestableRuntimeException
導入commons-lang-2.3.jar,問題解決.
跑一下:
出現異常:java.lang.ClassNotFoundException: net.sf.ezmorph.Morpher
導入ezmorph-1.0.3.jar,問題解決
跑一下:
出現異常:java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
導入commons-logging-1.1.1.jar,問題解決
跑一下:
出現異常:java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap
導入commons-collections-3.2.1.jar,問題解決
跑一下:
出現異常:java.lang.NoClassDefFoundError: org/apache/commons/beanutils/DynaBean
導入commons-beanutils-1.7.0.jar,問題解決
跑一下,異常沒了.
下面來看看這些東西是怎么轉換的.
map轉string
Map<String, String> map=new HashMap<String, String>();map.put("name", "思思博士");map.put("age","25");
JSONObject jsonObject=JSONObject.fromObject(map);String res=jsonObject.toString();System.out.list轉string
List<String> list=new ArrayList<String>();list.add("中華");list.add("人名");list.add("共和國"); JSONArray jsonArray=JSONArray.fromObject(list);String res=jsonArray.toString();System.out.println(res);結果:["中華","人名","共和國"]
string轉mapString res="{/"age/":/"25/",/"name/":/"思思博士/"}";//或者這樣//res="{'age':'25','name':'思思博士'}";JSONObject jsonObject=JSONObject.fromObject(res);Map<String,String> map = (HashMap<String,String>) JSONObject.toBean(jsonObject, HashMap.class);System.out.println(map);System.out.println(map.size());System.out.println(map.get("name"));System.out.println(map.getClass().getName());結果:
{name=思思博士, age=25}
2
思思博士
java.util.HashMapString 轉成我們的自定義類
UserBean.java
package json;public class UserBean { private String name; private String age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } }String userS = "{'name':'思思博士','age':'25'}";JSONObject obj = JSONObject.fromObject(userS);UserBean userBean = (UserBean) JSONObject.toBean(obj, UserBean.class);System.out.println(userBean.getName());字符串轉換成list
String arrayString="['a','b','ccc']";JSONArray jsonArray=JSONArray.fromObject(arrayString);Object[] arr=jsonArray.toArray();System.out.println(arr.length);System.out.println(arr[2]);結果:
3
ccc
新聞熱點
疑難解答