zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    对于服务器AdminServer, 与计算机Machine-0相关联的节点管理器无法访问
    C语言面试题目之指针和数组
    Go数据类型之基本数据类型
    【转载】虚拟地址与虚拟内存的理解
    const变量可以修改么?
    【转载】内联函数 —— C 中关键字 inline 用法解析
    【转载】抓包工具tcpdump用法说明
    【转载】网络编程面试题
    [leetcode]颠倒整数
    [leetcode]反转字符串
  • 原文地址:https://www.cnblogs.com/schoolbag/p/9008178.html
Copyright © 2011-2022 走看看