用 org.json 解析JSON

Posted 三岁玩童

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用 org.json 解析JSON相关的知识,希望对你有一定的参考价值。

1.下载 java-json.jar 包

    介绍:http://www.json.org/

    下载:

            https://github.com/stleary/JSON-java/releases

            https://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.json%22%20AND%20a%3A%22json%22

           附件:java-json.jar.zip

           附件:json-20160810-javadoc.jar      

 

2.解析 JSON 

    代码如下:

 1 import org.json.JSONObject;
 2 import org.json.JSONException; 
 3 
 4 public class testJson{
 5     
 6     public static String jsonObjCreate(){
 7         JSONObject jsonObj = new JSONObject();  
 8         try {  
 9             jsonObj.put("name", "Jason");  
10             jsonObj.put("id", 20130001);  
11             jsonObj.put("phone", "13579246810");              
12             
13             return jsonObj.toString();
14             
15         } catch (JSONException e) {  
16             e.printStackTrace();  
17         }
18         return null;          
19     }
20     
21     public static void jsonObjParse(String jsonText) {
22         try{
23             JSONObject jsonObj = new JSONObject(jsonText);
24             System.out.println("test parse name: " + jsonObj.getString("name"));
25             System.out.println("test parse id  : " +jsonObj.getInt("id"));
26         } catch (JSONException e) {  
27             e.printStackTrace();  
28         } 
29     }
30 
31     public static void main(String[] args){        
32         //1
33         String jsonText = jsonObjCreate();
34         System.out.println("test create object: " + jsonText + "\\r\\n");
35         
36         //2
37         jsonObjParse(jsonText);
38     }
39 }

3.执行结果:

    

4.遇到的问题:

    (1)

        testJson.java:23: 错误: 未报告的异常错误JSONException; 必须对其进行捕获或声明以便抛出

        JSONObject jsonObj = new JSONObject(jsonText);

        解决:加try catch

    (2) 编译过但执行报错

        Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.NoClassDefFoundError:                 org/json/JSONException         at java.lang.Class.getDeclaredMethods0(Native Method)

        解决:将 java-json.jar 加到 CLASSPATH 环境变量内。

 

 

 

    

以上是关于用 org.json 解析JSON的主要内容,如果未能解决你的问题,请参考以下文章

Java中使用org.json和json-lib解析JSON

java代码解析json对象获取json对象属性值

JSON解析工具-org.json使用教程

android json解析三种方式哪种效率最高

Java构造和解析Json数据的两种方法详解一

org.json