将从Cassandra导出的JSON数组拆分为独立文件/对象
拆分Cassandra导出的JSON为独立文档
要把你从Cassandra导出的这些JSON数据拆成独立文档其实很简单——每条记录本身就是一个完整的JSON对象,我们只需要把每个被{}包裹的内容单独提取出来就行。
拆分后的独立文档示例
第一条独立文档
{ "correlationId": "2232845a8556cd3219e46ab8", "leg": 0, "tag": "received", "offset": 263128, "len": 30, "prev": { "page": { "file": 0, "page": 0 }, "record": 0 }, "data": "HEAD /healthcheck HTTP/1.1\r\n\r\n" }
第二条独立文档
{ "correlationId": "2232845a8556cd3219e46ab8", "leg": 0, "tag": "sent", "offset": 262971, "len": 157, "prev": { "page": { "file": 10330, "page": 6 }, "record": 1271 }, "data": "HTTP/1.1..." }
批量处理小技巧(适用于大量数据)
如果你的导出数据是成百上千条JSON对象拼接在一起的(比如用逗号分隔),可以用一段简单的Python脚本自动拆分并保存为单独文件:
import json # 假设导出数据存在input.json文件中 with open('input.json', 'r') as f: content = f.read().strip() # 将零散的JSON对象转为合法的JSON数组格式 if not content.startswith('['): content = '[' + content.replace('}{', '},{') + ']' data_list = json.loads(content) # 逐个保存为独立文件 for idx, item in enumerate(data_list): with open(f'record_{idx+1}.json', 'w') as out_f: json.dump(item, out_f, indent=2)
这段脚本会把每条记录保存为record_1.json、record_2.json这类独立文件,方便后续单独查看或处理。
内容的提问来源于stack exchange,提问作者Reddy SK
相关产品推荐
相关产品推荐

