使用 JSONObject 和 JSONArray 创建 json 字符串

著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

依赖


    org.json
    json
    20160810

       一、应用场景
       在编写 java 代码时,很多时候我们需要创建一个 json 字符串。比如在使用 java 代码请求一个服务时,我们需要在 java 代码中传入一些参数,如 url 等,这样的情况下,请求接口都会要求我们传入一个 json 类型的参数。
       此时,如果直接使用字符串构造 json 对象也是可以的,如下面这样:

String jsonStr = "{\"name\":\"bubble\",\"age\":100,\"male\":true}";

       但这样写很不优雅,且会因为字符串中的转义字符很多,容易混乱,甚至当 json 字符串很长时就很难保证所构造的 json 字符串是否正确了。

       二、解决方法
       对于上面描述的使用场景,我们可以使用 JSONObject 和 JSONArray 来构造 json 字符串。下面通过几个简单的例子来展示它们的用法。
       1、当 json 中没有涉及数组时

public class Main {

    public static void main(String[] args) {
        JSONObject student = new JSONObject();
        student.put("name", "bubble");
        student.put("age", 100);
        student.put("male", true);
        System.out.println(student.toString());
    }

}

       通过执行上述代码,可以看到构造的 json 字符串为:

{"name":"bubble","age":100,"male":true}

       2、当 json 中涉及到数组时

public class Main {

    public static void main(String[] args) {
        
        JSONObject student1 = new JSONObject();
        student1.put("name", "zhangsan");
        student1.put("age", 15);
        
        JSONObject student2 = new JSONObject();
        student2.put("name", "lisi");
        student2.put("age", 16);
        
        JSONArray students = new JSONArray();
        students.put(student1);
        students.put(student2);
        
        JSONObject classRoom = new JSONObject();
        classRoom.put("students", students);
        
        System.out.println(classRoom);
    }

}

       通过执行上述代码,可以看到构造的 json 字符串为:

{"students":[{"name":"zhangsan","age":15},{"name":"lisi","age":16}]}

       通过这两个例子应该知道如何使用 JSONObject 和 JSONArray 来构造 json 字符串了。

上一篇:使用 Gson 实现 Json 字符串和 Java 对象之间的相互转换
下一篇:NLTK(一):英文分词分句

你可能感兴趣的:(使用 JSONObject 和 JSONArray 创建 json 字符串)