一个txt文件,内部的json格式如下:

{"名称": "#pagecontainer > div.main > div.app-msg > div.app-detail > div > h1","大小": "#pagecontainer > div.main > div.detail-app-intro > div.main-right > div:nth-child(1) > div > p:nth-child(3)","更新时间": "#pagecontainer > div.main > div.detail-app-intro > div.main-right > div:nth-child(1) > div > p:nth-child(4)","版本": "#pagecontainer > div.main > div.detail-app-intro > div.main-right > div:nth-child(1) > div > p:nth-child(5)","格式": "#pagecontainer > div.main > div.detail-app-intro > div.main-right > div:nth-child(1) > div > p:nth-child(6)","系统要求": "#pagecontainer > div.main > div.detail-app-intro > div.main-right > div:nth-child(1) > div > p:nth-child(8)","权限要求": "#pagecontainer > div.main > div.detail-app-intro > div.main-right > div:nth-child(1) > div > div.permissionsDetail.has-border.hide > ul","好评人数": "#pagecontainer > div.main > div.app-msg > div.app-detail > div > span","介绍": "#pagecontainer > div.main > div.detail-app-intro > div.main-left > div:nth-child(2) > p:nth-child(4)","版本更新": "#pagecontainer > div.main > div.detail-app-intro > div.main-left > div:nth-child(2) > p:nth-child(6)","用户评论": "#pagecontainer > div.main > div.detail-app-intro > div.main-left > div:nth-child(2) > ul"
}
{"名称": "#pagecontainer > div.main > div.app-msg > div.app-detail > div > h1","大小": "#pagecontainer > div.main > div.detail-app-intro > div.main-right > div:nth-child(1) > div > p:nth-child(3)","更新时间": "#pagecontainer > div.main > div.detail-app-intro > div.main-right > div:nth-child(1) > div > p:nth-child(4)","版本": "#pagecontainer > div.main > div.detail-app-intro > div.main-right > div:nth-child(1) > div > p:nth-child(5)","格式": "#pagecontainer > div.main > div.detail-app-intro > div.main-right > div:nth-child(1) > div > p:nth-child(6)","系统要求": "#pagecontainer > div.main > div.detail-app-intro > div.main-right > div:nth-child(1) > div > p:nth-child(8)","权限要求": "#pagecontainer > div.main > div.detail-app-intro > div.main-right > div:nth-child(1) > div > div.permissionsDetail.has-border.hide > ul","好评人数": "#pagecontainer > div.main > div.app-msg > div.app-detail > div > span","介绍": "#pagecontainer > div.main > div.detail-app-intro > div.main-left > div:nth-child(2) > p:nth-child(4)","版本更新": "#pagecontainer > div.main > div.detail-app-intro > div.main-left > div:nth-child(2) > p:nth-child(6)","用户评论": "#pagecontainer > div.main > div.detail-app-intro > div.main-left > div:nth-child(2) > ul"
}
{"名称": "#pagecontainer > div.main > div.app-msg > div.app-detail > div > h1","大小": "#pagecontainer > div.main > div.detail-app-intro > div.main-right > div:nth-child(1) > div > p:nth-child(3)","更新时间": "#pagecontainer > div.main > div.detail-app-intro > div.main-right > div:nth-child(1) > div > p:nth-child(4)","版本": "#pagecontainer > div.main > div.detail-app-intro > div.main-right > div:nth-child(1) > div > p:nth-child(5)","格式": "#pagecontainer > div.main > div.detail-app-intro > div.main-right > div:nth-child(1) > div > p:nth-child(6)","系统要求": "#pagecontainer > div.main > div.detail-app-intro > div.main-right > div:nth-child(1) > div > p:nth-child(8)","权限要求": "#pagecontainer > div.main > div.detail-app-intro > div.main-right > div:nth-child(1) > div > div.permissionsDetail.has-border.hide > ul","好评人数": "#pagecontainer > div.main > div.app-msg > div.app-detail > div > span","介绍": "#pagecontainer > div.main > div.detail-app-intro > div.main-left > div:nth-child(2) > p:nth-child(4)","版本更新": "#pagecontainer > div.main > div.detail-app-intro > div.main-left > div:nth-child(2) > p:nth-child(6)","用户评论": "#pagecontainer > div.main > div.detail-app-intro > div.main-left > div:nth-child(2) > ul"
}

使用json工具类很难直接处理,这个时候可以利用字符串的方式:

    private static List<String> getContentFromParenthese(String content) {ArrayList<String> contents = new ArrayList<String>();int m = 0, n = 0;int count = 0;for (int i = 0; i < content.length(); i++) {if (content.charAt(i) == '{') {if (count == 0) {m = i;}count++;}if (content.charAt(i) == '}') {count--;if (count == 0) {n = i;contents.add(content.substring(m, n + 1));}}}return contents;}

或者使用数组的方式:

    private static List<String> getContentByArray(String content) {ArrayList<String> contents = new ArrayList<String>();List<Character> segment=new ArrayList<Character>();int count = 0;    for(int i=0;i<content.length();i++){        System.out.println(content.charAt(i));if (content.charAt(i) == '{') {    count++;}if (content.charAt(i) == '}') {                count--;}if(count>0){segment.add(content.charAt(i));}if(count==0&&segment.size()>0){StringBuilder str = new StringBuilder();for (Character character : segment) {// 对ArrayList进行遍历,将字符放入StringBuilder中
                    str.append(character);}contents.add(str.toString());segment=new ArrayList<Character>();}}return contents;}

转载于:https://www.cnblogs.com/davidwang456/p/8718619.html

组合的json文件分隔或者拆分相关推荐

  1. 组合的json嵌套文件分割或者拆分

    json文件中的内容如下: {"AILevel":0,"AdvertisingId":"e06b7ae4-4d16-463f-9ad5-cc2a0f1 ...

  2. 超大json文件拆分

    背景:330M的json文件,有大概100w+条数据,内部存在格式问题,需手动替换修改 办法:拆分为6个小json文件,代码如下: # 读取大json文件 with open('binguan_all ...

  3. Go 学习笔记(20)— Go 操作 json 文件(编码生成 json、解码 json 为 map、解码 json 为 struct)

    1. Json 概述 Go 语言对于标准格式的编码和解码都有良好的支持,由标准库中的 encoding/json . encoding/xml . encoding/asn1 等包提供支持并且这类包都 ...

  4. chrome扩展开发(2)- manifest.json文件简述

    一.本文目标 结合具体应用场景,让读者对manifest.json文件的写法和主要属性拥有初步认识. 二.目标读者 chrome扩展开发的初学者,想要先从宏观上了解一下chrome扩展能干哪些事情,而 ...

  5. 【Python爬虫学习笔记6】JSON文件存储

    JSON简介 JSON(全称JavaScript Obejct Notation,JavaScript对象标记),基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言 ...

  6. JSON定义及解析,JSON文件读写

    文章目录 JSON 定义 要点 简单的JSON实例 JSON的文档结构 对象 数组 数据类型 值 字符串说明 关于轨道图的嵌套 JSON实例 使用JsonCpp进行JSON文件读写 类图关系 常用接口 ...

  7. java 文件分隔_java 实现大文件分隔成多个小文件

    public class FileTest { /** * 文件分隔器:给定文件的路径和每一块要拆分的大小,就可以按要求拆分文件 * 如果指定的块给原文件都还要大,为了不动原文件,就生成另一个文件,以 ...

  8. Qt实现对json文件的解析

    json是一种轻量级的数据结构,其内部的结构是一种键值对(key-value)的组合,最外层是{ }.key是带双引号的字符串常亮,用于获取和存储:value的值可以是bool变量,字符串常量,对象或 ...

  9. python 读写 json文件

    json的优势: 1. 数据体积方面. JSON相对于XML来讲,数据的体积小,传递的速度更快些. 2. 传输速度方面. JSON的速度要远远快于XML 3. 数据格式 数据格式比较简单, 易于读写, ...

最新文章

  1. pandas处理mysql 展现wpf_Python:用Pandas读CSV文件写到MySQL
  2. android studio gradle 配置
  3. MySQL基本操作及乱码问题的解决方法
  4. 为什么需要消息队列MQ
  5. html中模板引擎—前端与后端
  6. Spring_02 注入类型值、利用引用注入类型值、spring表达式、与类相关的注解、与依赖注入相关的注解、注解扫描...
  7. gcc is unable to create an executable file.
  8. 日语输入法 android8.0,百度日文输入法
  9. 什么是VXLAN?VXLAN技术细节及应用案例
  10. python均值方差模型_马科维茨的均值一方差组合模型
  11. c语言手写平衡二叉树(一)
  12. mysql 父子结构排序_mysql 父子结构排序_MySQL
  13. win7计算机名怎么是感叹号,Win7系统wifi信号后出现感叹号怎么办 Win7连接wifi后出现感叹号三种原因和解决方法...
  14. EasyCVR边缘计算网关助力安防视频场景化AI落地,让智能无处不在
  15. 命名需谨慎!科技产品荒谬命名大盘点
  16. 非静压模型NHWAVE学习(7)——波浪变形模拟算例学习(Wave transformation over an elliptical shoal)
  17. freemarker生成word之后遇到未解决的问题,希望有大佬赐教!!!
  18. 读书笔记-人月神话12
  19. django多对多展示
  20. week9 B-东东学打牌

热门文章

  1. oracle经常开关好吗,oracle启动和关闭
  2. php服务为什么开不了,php怎么打不开
  3. spark 持久化 mysql_Spark 从零到开发(八)nginx日志清洗并持久化实战
  4. 图片渲染延迟_前向渲染与延迟渲染
  5. python dateformatter_Python dates.DateFormatter方法代码示例
  6. lighttpd+fastcgi 返回500错误码_阿根廷著名电视减肥冠军去世 临终前体重达到500公斤...
  7. java多语言标签如何动态刷新_WPF实现无刷新动态切换多语言(国际化)
  8. 文本编辑器实现打开文件、保存文件、文件另存为、新建文件、软件关闭的功能
  9. 开发板通过NTS挂载在PC机中的文件夹
  10. 下列数据类型中python不支持的是_ 下列选项中 ,Python 不支持的数据类型有 ( ) 。_学小易找答案...