美文网首页
【极简教程】从txt文本中解析JSON格式数据

【极简教程】从txt文本中解析JSON格式数据

作者: 花生无翼 | 来源:发表于2019-11-21 17:20 被阅读0次

在工作中,常常会遇到一些文件转换的问题,比如从txt格式转换为excel,还有从excel再转换为txt,有普通格式转换为JSON格式的,当然也有再转换回来的。

这些工作如果手动操作就想当麻烦了,但是好在可以程序处理,下面这个例子就是从txt文本中读取数据,再解析JSON格式数据的问题,让我们一起来看下处理过程。

主要分为两部分,下面是具体实现。

1.读取txt文件,一次性从内存中读取数据。

    /**
     * 解析txt文件
     * @param filePath
     * @return
     */
    public static String readTxtFile(String filePath){
        StringBuilder sb = new StringBuilder();
        try {
            String encoding="UTF-8";
            File file=new File(filePath);
            if(file.isFile() && file.exists()){ //判断文件是否存在
                InputStreamReader read = new InputStreamReader(
                        new FileInputStream(file),encoding);//考虑到编码格式
                BufferedReader bufferedReader = new BufferedReader(read);
                String lineTxt = null;
                while((lineTxt = bufferedReader.readLine()) != null){
                    sb.append(lineTxt);
                }
                read.close();
            }else{
                System.out.println("找不到指定的文件");
            }
        } catch (Exception e) {
            System.out.println("读取文件内容出错");
            e.printStackTrace();
        }
        return sb.toString();
    }

2.解析JSON格式数据

解析JSON一般常用的工具包有Google的Gson,JackJson和阿里巴巴的fastjson。
这里我使用最常用的fastjson。
引入jar包:

<dependency>    
  <groupId>com.alibaba</groupId>   
  <artifactId>fastjson</artifactId>   
  <version>1.2.60</version>
</dependency>

txt内容:

[
    {
        "city_name": "北京",
        "city_id": "bj"
    },
    {
        "city_name": "上海",
        "city_id": "sh"
    },
    {
        "city_name": "广州",
        "city_id": "gz"
    },
    {
        "city_name": "深圳",
        "city_id": "sz"
    }
]

下面是具体解析过程:

  /**
     * 把JSON文件转换为一行一行的数据
     * @param txt
     * @return
     */
    private static String parseJson(String txt){
        //获取jsonObject对象
        JSONArray jsonArray = JSONObject.parseArray(txt);
        StringBuilder sb = new StringBuilder();
        for (Iterator iterator = jsonArray.iterator(); iterator.hasNext(); ) {
            JSONObject jsonObject = (JSONObject) iterator.next();
            String cityName = String.valueOf(jsonObject.get("city_name"));
            String cityId = String.valueOf(jsonObject.get("city_id"));
            sb.append(cityId).append("=").append(cityName).append("\n");
        }
        return sb.toString();
    }

总结

以上就是最基本的读取txt文本和解析JSON的方法,欢迎与我沟通交流。

相关文章

  • 【极简教程】从txt文本中解析JSON格式数据

    在工作中,常常会遇到一些文件转换的问题,比如从txt格式转换为excel,还有从excel再转换为txt,有普通格...

  • xml格式接口数据编程实战

    系统对外提供接口,或者系统调用外部接口,常常会使用xml格式作为接口数据传输格式(json数据,txt文本数据亦可...

  • 九、Spring MVC Json 数据交互

    Json数据交互 json数据格式在接口调用中、html页面中较常用,json格式比较简单,解析还比较方便。 比如...

  • 数据解析练习

    数据解析要求:txt数据存放assets目录中中,通过数据流读取txt文件中的信息,并利用Gson工具实现Json...

  • JSON数据交互

    一、为什么要进行json数据交互? json数据格式在接口调用中、html页面中较常用,json格式比较简单,解析...

  • #hello,JS:06-2{ "JSON" }

    一、定义 JSON,用于数据交换的文本格式(解析之后得到一个相应的对象),是一种数据格式如: 二、Json对值得类...

  • labelme 标注的框 转化为 DOTA labeltxt 格

    labelme 标注的数据解析 DOTA label.json json2txt.py

  • 数据解析

    XML数据格式解析 pull解析方式 sax解析方式 JSON 数据格式解析 解析代码很简单,但是还要有APP类,...

  • JSON XML解析

    JSON,XML解析 解析 解析:从实现规定好的格式中提取数据 解析的前提:提前设定好格式,数据提供方按照格式提供...

  • 128、数据写出及JSON格式转换

    将数据写出到文本格式 JSON数据 源码:

网友评论

      本文标题:【极简教程】从txt文本中解析JSON格式数据

      本文链接:https://www.haomeiwen.com/subject/dyitwctx.html