JSON是一种轻量级的数据交换格式,在Java中使用JSON常用的是Jackson、Gson等第三方库。当我们需要将Java对象转换为JSON字符串时,我们可以用这些库来进行序列化操作。
Java自带的JSON库也可以用来进行JSON序列化操作,只不过需要做一些额外的工作。Java中的JSON序列化可以分为两种,一种是本地序列化,也就是将JSON字符串保存到本地文件。另一种是网络序列化,将JSON字符串发送到网络上。
在本地序列化中,我们需要使用到Java自带的JSONObject和JSONArray类。首先,我们需要将Java对象转换成JSONObject或JSONArray对象,然后使用其提供的write方法将JSON字符串写入文件:
// Java对象转换成JSONObject JSONObject jsonObject = new JSONObject(); jsonObject.put("name", "张三"); jsonObject.put("age", 18); // 将JSON字符串写入文件 File file = new File("person.json"); try (FileWriter fileWriter = new FileWriter(file)) { fileWriter.write(jsonObject.toString()); }
同样的,我们也可以将Java对象转换成JSONArray对象,然后将JSON字符串写入文件,代码如下:
// Java对象转换成JSONArray JSONArray jsonArray = new JSONArray(); JSONObject jsonObject1 = new JSONObject(); jsonObject1.put("name", "张三"); jsonObject1.put("age", 18); JSONObject jsonObject2 = new JSONObject(); jsonObject2.put("name", "李四"); jsonObject2.put("age", 20); jsonArray.put(jsonObject1); jsonArray.put(jsonObject2); // 将JSON字符串写入文件 File file = new File("persons.json"); try (FileWriter fileWriter = new FileWriter(file)) { fileWriter.write(jsonArray.toString()); }
本地序列化中我们常用的方法就是将Java对象转换为JSONObject或JSONArray对象,然后将JSON字符串写入文件。这样做的好处是可以在本地进行JSON文件的存储和查看,方便我们在开发和测试中使用。