嵌入式系统开发实践
2026/6/26 9:22:24
直接上代码
importjsonimportsysdefformat_json_str(json_text:str,indent=4)->str:"""格式化JSON字符串"""try:data=json.loads(json_text)returnjson.dumps(data,indent=indent,ensure_ascii=False,sort_keys=False)exceptjson.JSONDecodeErrorase:returnf"❌ JSON格式错误:{str(e)}"defformat_json_file(file_path:str,indent=4):"""读取文件并格式化,输出到控制台"""try:withopen(file_path,"r",encoding="utf-8")asf:raw=f.read()fmt=format_json_str(raw,indent)print("===== 美化完成 =====\n")print(fmt)# 可选:保存为新文件out_path=file_path.replace(".json","_formatted.json")withopen(out_path,"w",encoding="utf-8")asf:f.write(fmt)print(f"\n✅ 已保存美化文件:{out_path}")exceptFileNotFoundError:print(f"文件不存在:{file_path}")defmain():print("===== JSON美化工具 =====")print("1 直接粘贴JSON文本美化")print("2 读取本地json文件美化")choice=input("\n请输入选择(1/2):").strip()indent=4ifchoice=="1":print("\n请粘贴你的JSON,输入【END】结束输入:")lines=[]whileTrue:line=input()ifline.strip()=="END":breaklines.append(line)raw_json="".join(lines)result=format_json_str(raw_json,indent)print("\n===== 美化结果 =====")print(result)elifchoice=="2":path=input("输入json文件完整路径:").strip()format_json_file(path,indent)else:print("输入错误,程序退出")if__name__=="__main__":main()运行后输入json数组后输入END然后回车获取美化后的json