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/

  • 相关阅读:
    对文本抽取词袋模型特征
    jieba分词
    家用电器用户行为分析与事件识别
    Linux系统调用:创建和终止进程
    Linux系统调用:获取进程PID
    使用函数指针解决函数重载二义性调用问题
    C++ string基本操作
    有界深度优先搜索-八数码问题
    数据传送指令
    x86-64数据格式、通用寄存器与操作数格式
  • 原文地址:https://www.cnblogs.com/schoolbag/p/9008178.html
Copyright © 2011-2022 走看看