python将某个非格式化显示的json文件处理得到格式化显示

本文介绍如何使用Python处理非格式化的JSON文件,将其转换为易读的格式。通过示例展示了当文件小的时候,如何在命令行直接输出格式化后的字符串,以及当文件较大时,如何创建Python脚本来将格式化内容写入新文件。

如果有一个json文件它可能这样存储json信息:

{"000001":{"09:25:00.000":["149000","163900","134100","149000","149000","true"],"09:26:00.000":["149000","163900","134100","149000","149000","true"]}."000002":{"09:25:00.000":["149000","163900","134100","149000","149000","true"],"09:26:00.000":["149000","163900","134100","149000","149000","149000","149000","0","0","0","true"]}}

然而我们希望的是这样的:

{
    "000001": {
        "09:25:00.000": [
            "149000",
            "163900",
            "134100",
            "149000",
            "149000",
            "true"
            ],
        "09:26:00.000":[
            "149000",
            "163900",
            "134100",
            "149000",
            "149000",
            "true"
            ]
        },
    "000002": {
        "09:25:00.000": [
            "149000",
            "163900",
            "134100",
            "149000",
            "149000",
            "true"
            ],
        "09:26:00.000":[
            "14900
Python中,可采用以下几种方法对JSON文件进行格式化处理: ### 使用命令行方式 借助Python自带的`json`库,在命令行里实现对JSON文件格式化。以下命令会读取`input.json`文件,对其进行格式化,然后将结果输出到`output_formatted.json`文件中: ```bash python -m json.tool input.json > output_formatted.json ``` 这种方式适合在命令行环境下快速处理JSON文件,无需编写额外的Python代码 [^2]。 ### 使用`json.loads()`和`json.dump()`方法 若有一个JSON字符串格式的数据,可运用`json.loads()`方法把它加载为Python对象,再利用`json.dump()`方法将该对象格式化保存到本地文件。示例代码如下: ```python import json # json_resp为json字符串格式的数据(全部都在一行) json_resp = '{"key": "value", "list": [1, 2, 3]}' json_load = json.loads(json_resp) save_jsonfile = r"test.json" with open(save_jsonfile, mode='w', encoding='utf-8') as json_file: json.dump(json_load, json_file, ensure_ascii=False, indent=2) print('jsonfile生成完成--') ``` 在上述代码中,`json.loads()`把JSON字符串转换为Python对象,`json.dump()`将Python对象以格式化的形式写入文件,`indent=2`表示使用两个空格进行缩进 [^3]。 ### 使用`json.dumps()`方法 若要把Python数据类型转换为格式化JSON字符串,可使用`dumps()`方法。示例如下: ```python import json test_dict = {'one': 1, 'two': {2.1: ['a', 'b']}} json_str = json.dumps(test_dict, indent=2) print(json_str) ``` 此代码把Python字典`test_dict`转换为格式化JSON字符串,`indent=2`同样用于设置缩进 [^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值