將json格式的字符串轉換為java中的json對象並獲取鍵值對值


最近做項目經常碰到json格式的字符串,為了便於取值,所以就想將json格式的字符串轉換為json對象,然后通過json對象的方法獲取鍵值對的value值。

 

一:使用json對象的話,需要在項目中導入以下jar包:

commons-beanutils.jar

commons-collections-3.2.1.jar

commons-lang-2.6.jar

commons-logging-1.2.jar

ezmorph-1.0.6.jar

json-lib-2.4-jdk15.jar

xom-1.1.jar

 注:最好導入上面提到的版本的jar包,如果其中一個導入的是最新版本的jar包【目前已知的是commons-lang-2.6.jar不可以使用新版本的jar包,其他的暫時未測試過】,那么可能就會出現以下問題:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException......

以上jar包下載地址如下:

http://pan.baidu.com/s/1bnvRG7d

 

二:一個簡單的小例子,僅供參考

 1 import net.sf.json.JSONArray;
 2 import net.sf.json.JSONObject;
 3 
 4 
 5 public class JsonTest {
 6      public static void main(String[] args) throws Exception {
 7         /*
 8          * 將json格式的字符串轉換成json對象,然后根據json對象的方法獲取鍵值對值
 9          * json格式的字符串{"name":"why","age":28,"class":["math","english","history"]}
10          * 分別獲取name、age、classes對應的value值
11          * */
12         String jsonStr = "{\"name\":\"why\",\"age\":28,\"classes\":[\"math\",\"english\",\"history\"]}";
13         System.out.println("jsonStr=="+jsonStr);
14         
15         JSONObject jsonObj = JSONObject.fromObject(jsonStr);
16         System.out.println("jsonObj=="+jsonObj);
17         
18         String nameStr = jsonObj.getString("name");
19         int age = jsonObj.getInt("age");
20         String ageStr = jsonObj.getString("age");
21         JSONArray classesObj = jsonObj.getJSONArray("classes");
22         
23         System.out.println("nameStr=="+nameStr);
24         System.out.println("age=="+age);
25         System.out.println("ageStr=="+ageStr);
26         System.out.println("classesObj=="+classesObj);
27         
28         for (int i = 0; i < classesObj.size(); i++) {
29             System.out.println("element " + i + " :" + classesObj.get(i));
30         }
31         
32         String addStrValue = "boy";
33         jsonObj.put("sex", addStrValue);
34         System.out.println("jsonObj=="+jsonObj);
35          
36         
37     }
38 }

 代碼運行結果:

jsonStr=={"name":"why","age":28,"classes":["math","english","history"]}
jsonObj=={"name":"why","age":28,"classes":["math","english","history"]}
nameStr==why
age==28
ageStr==28
classesObj==["math","english","history"]
element 0 :math
element 1 :english
element 2 :history
jsonObj=={"name":"why","age":28,"classes":["math","english","history"],"sex":"boy"}

 

三:本文章參考資料
1、java與json的互相轉換:http://blog.sina.com.cn/s/blog_663bfedc0100tap3.html

2、Json lib 拋出 NestableRuntimeException:http://blog.csdn.net/wugewuge/article/details/8074272

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM