Java JSON的解析和创建

 
几乎所有的编程语言例如:Java、Python、Node.js、JavaScript 和 Ruby 等都提供了创建和解析 JSON 数据的方法,本节我们主要来介绍一下如何使用 Java 来创建和解析 JSON 数据。

Java 中没有内置任何处理 JSON 数据的函数或库,所以我们需要借助一些开源的库来实现 JSON 数据的创建和解析,比较常用的有 JSON.simple、Jackson、Gson、Moshi 等,接下来以 JSON.simple 为例,来演示一下如何使用 Java 来创建和解析 JSON 数据。

使用 Java 创建 JSON 数据

在 Java 中,您可以使用 JSONObject 来将 Java 数据转换为 JSON 格式,示例代码如下:
import org.json.simple.JSONObject;

class JsonEncodeDemo {

    public static void main(String[] args) {
        JSONObject obj = new JSONObject();
   
        obj.put("title", "JSON教程");
        obj.put("author", "C语言中文网");
        obj.put("url", "http://c.biancheng.net/");
        obj.put("hits", 100);
   
        System.out.print(obj);
    }
}
编译并执行上述程序,结果如下:

{"hits":100,"author":"C语言中文网","title":"JSON教程","url":"http:\/\/c.biancheng.net\/"}

使用 Java 解析 JSON 数据

在 Java 中,您可以使用 JSONObjcet 和 JSONArray 来将 JSON 数据解析为 Java 对象,示例代码如下:
import org.json.simple.JSONObject;
import org.json.simple.JSONArray;
import org.json.simple.parser.ParseException;
import org.json.simple.parser.JSONParser;

class JsonDecodeDemo {
    public static void main(String[] args) {
        JSONParser parser = new JSONParser();
        String s = "[0,{\"hits\":100,\"author\":\"C语言中文网\",\"title\":\"JSON教程",\"url\":\"http://c.biancheng.net/\"}]";
        try{
            Object obj = parser.parse(s);
            JSONArray array = (JSONArray)obj;

            System.out.println(array.get(1));
            System.out.println();
        }catch(ParseException pe) {
            System.out.println("position: " + pe.getPosition());
            System.out.println(pe);
        }
    }
}
编译并执行上述程序,结果如下:

{"hits":100,"author":"C语言中文网","title":"JSON教程","url":"http:\/\/c.biancheng.net\/"}