json 文档拆分工具_组合的json文件分隔或者拆分

本文介绍了如何处理一个包含多个独立JSON对象的TXT文件。通过提供两种方法,包括使用字符串和数组的方式,来拆分并解析这些JSON数据,以便于进一步的处理和操作。
摘要由CSDN通过智能技术生成

一个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 ListgetContentFromParenthese(String content) {

ArrayList contents = new ArrayList();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));

}

}

}returncontents;

}

或者使用数组的方式:

private static ListgetContentByArray(String content) {

ArrayList contents = new ArrayList();

List segment=new ArrayList();int count = 0;for(int i=0;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= newStringBuilder();for (Character character : segment) {//对ArrayList进行遍历,将字符放入StringBuilder中

str.append(character);

}

contents.add(str.toString());

segment=new ArrayList();

}

}returncontents;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Last login: Fri Jul 14 16:46:34 on ttys000 jeongyiii@Jeongyiii-2 ~ % cd Downloads jeongyiii@Jeongyiii-2 Downloads % python3 json2xml.py Traceback (most recent call last): File "json2xml.py", line 56, in <module> process_json_file(file_path) File "json2xml.py", line 50, in process_json_file dataframe_to_excel(expanded_df, excel_file_path) File "json2xml.py", line 32, in dataframe_to_excel writer.save() AttributeError: 'OpenpyxlWriter' object has no attribute 'save' jeongyiii@Jeongyiii-2 Downloads % vim json2xml.py jeongyiii@Jeongyiii-2 Downloads % python3 json2xml.py Excel file generated: example.xlsx jeongyiii@Jeongyiii-2 Downloads % python3 json2xml.py Excel file generated: example.xlsx jeongyiii@Jeongyiii-2 Downloads % python3 json2xml.py Excel file generated: example.xlsx jeongyiii@Jeongyiii-2 Downloads % vim json2xml.py jeongyiii@Jeongyiii-2 Downloads % python3 json2xml.py Excel file generated: example.xlsx jeongyiii@Jeongyiii-2 Downloads % python3 json2xml.py Excel file generated: example.xlsx jeongyiii@Jeongyiii-2 Downloads % vim json2xml.py jeongyiii@Jeongyiii-2 Downloads % vim json2xml.py def process_json_file(file_path): # Read JSON file json_data = read_json_file(file_path) # Parse JSON object json_obj = json.loads(json_data) # Convert JSON data to DataFrame df = json_to_dataframe(json_obj) # Expand the 'template' column expanded_df = expand_template_column(df) # Write to Excel file excel_file_path = file_path.replace('.json', '.xlsx') dataframe_to_excel(expanded_df, excel_file_path) print("Excel file generated:", excel_file_path) # Usage example file_path = 'example.json' process_json_file(file_path) 将template列的分隔符,由,改为;
07-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值