java对json文件的操作

第一步:通过FileReader读取json文件
第二步:使用BufferReader,先通过I/O读取一定大小的数据缓存到数组中,然后再从数组取出数据。
第三步:用一个字符串把每次传来的数据处理后写到新的文件中。重复这个过程。

注意事项:
在json中,每一行就是一个json对象,需要用{}括起来,json对象键值对里面还可以保存jsonArray和jsonObject,json jar包里面包含键值对增加和删除的操作。

import org.json.JSONException;
import org.json.JSONObject;

import java.io.*;


/**
 * @author Mr.Xu
 * @version 1.0
 * @date 2018/5/7.
 */
public class jsontest {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // 读取原始json文件并进行操作和输出
        try {
            BufferedReader br = new BufferedReader(new FileReader(
                    "C:\Users\Administrator\Desktop\ParseData\test.json"));// 读取原始json文件
            BufferedWriter bw = new BufferedWriter(new FileWriter(
                    "C:\Users\Administrator\Desktop\ParseData\testresult.json"));// 输出新的json文件
            String s = null, ws = null;
            while ((s = br.readLine()) != null) {
                System.out.println(s);
                try {
                    JSONObject dataJson = new JSONObject(s);// 创建一个包含原始json串的json对象
                    ws = dataJson.toString();
                    System.out.println(dataJson.getJSONArray("people").getJSONObject(0).get("name"));
                } catch (JSONException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

            bw.write(ws);
            bw.flush();
            br.close();
            bw.close();

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}

 json测试

test.json

{"t1":"1","people":[{"name":"LSY","age":"23"},{"name":"XRC","age":"23"}]}

小徐看世界,世界如此多娇: http://www.cnblogs.com/schoolbag/

原文地址:https://www.cnblogs.com/schoolbag/p/9008178.html