批量格式化json
单个文件格式化工具: vscode和sublime都有格式化json的插件。
但是笔者遇到的情况是有几百个文件需要格式化,不可能每个文件都打开,进行分别格式化。
于是写了一个python脚本,非常强大,支持中文。批量格式化代码如下:
#coding:utf8
import json
import sys,os
reload(sys)
sys.setdefaultencoding('utf-8')
def getFileCon(filename):
if not os.path.isfile(filename):
return try:
f = open(filename, "r")
con = f.read()
f.close()
return con
except Exception as e:
pass # 向文件写内容
def writeFile(filepath,con):
if con:
f = file(filepath, "w")
f.write(con)
f.close()
else:
print (filepath, "filepath FAIL") if __name__ == "__main__":
fl = os.listdir(".")
for f in fl:
g = f
try:
con = json.loads(getFileCon(f))
# print con
writeFile(f,json.dumps(con,indent=4,ensure_ascii=False).decode('utf8'))
print (g,'OK')
except Exception as e:
print (g,e)
将这个脚本拷贝到需要格式化的目录,然后执行 python format.py
效果:

批量格式化json的更多相关文章
- yformater - chrome谷歌浏览器json格式化json高亮json解析插件
yformater是一款chrome浏览器插件,用来格式化(高亮)服务端接口返回的json数据. 实际上小菜并不是第一个写这种插件的,但是现有的chrome json格式化插件实在是不太好用,索性小菜 ...
- python 格式化 json输出
利用python格式化json 字符串输出. $ echo '{"json":"obj"}' | python -m json.tool 利用python -m ...
- C#格式化JSON字符串
很多时候我们需要将json字符串以 { "status": 1, "sum": 9 }这种方式显示,而从服务端取回来的时候往往是这样 {&quo ...
- C#后台格式化JSON字符串显示
很多时候我们从服务器上获取的JSON字符串是没有格式化的,如下: {"BusinessId":null,"Code":200,"Data": ...
- 原生js格式化json工具
json格式化小工具,原生js编写,直接上代码: <!DOCTYPE html> <html lang="en"> <head> <met ...
- 【Golang】格式化JSON字符串,方便查看
分别介绍golang及Python格式化接口返回JSON数据的方法,及Python json.dumps方法出现NameError: name 'true' is not defined原因解析及解决 ...
- js格式化json字符串和json对象
1,格式化json对象 var json = {"@odata.context":"$metadata#AddTableOne_466281s","v ...
- 【Json】C#格式化JSON字符串
很多时候我们需要将json字符串以 { "status": 1, "sum": 9 }这种方式显示,而从服务端取回来的时候往往是这样 {&quo ...
- 原生js格式化json的方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
随机推荐
- java面试一定会遇到的56个面试题
1.问题:如果main方法被声明为private会怎样? 答案:能正常编译,但运行的时候会提示”main方法不是public的”. 2.问题:Java里的传引用和传值的区别是什么? 答案:传引用是指传 ...
- js如何判断当前文本的输入状态——中文输入法的那些坑
相信各位在平时接需求的时候肯定会遇到这样的一些需求,例如,要求输入框限制输入长度,限制输入类型,限制只能英文输入,限制只能输入大写字母等等,这时候我们一般的思路无非两种,一种是弹出特定的键盘,第二种是 ...
- JavaScript DOM知识 (一)
特性.方法 类型.返回类型 说明 nodeName String 节点的名字:根据节点类型而定义 nodeValue String 节点的值:根据节点的类型而定义 nodeType Number 节点 ...
- Docker环境下的前后端分离项目部署与运维(七)Redis高速缓存
Redis高速缓存 利用内存保存数据,读写速度远超硬盘:可以减少I/O操作,降低I/O压力. 发红包.抢红包的数据可以存在高速缓存中,加快处理速度,不需要经过数据库 淘宝首页一些优惠活动商品等热数据可 ...
- 3d全景图
http://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Aggarwal_Panoramic_Stereo_Videos_CV ...
- 「BZOJ2127」happiness(最小割)
题目描述 高一一班的座位表是个n*m的矩阵,经过一个学期的相处,每个同学和前后左右相邻的同学互相成为了好朋友.这学期要分文理科了,每个同学对于选择文科与理科有着自己的喜悦值,而一对好朋友如果能同时选文 ...
- birt启动后访问地址详解
发布设计完成的报表文件,可在web项目中创建reports目录,用于存放报表设计文件. 在应用中通过正确格式的访问路径,例如:http://localhost:8080/birtApp/framese ...
- Glassfish Cannot run program "/usr/libexec/StartupItemContext; error=2 , No such file or directory
临时处理办法 http://sohu.io/questions/3833214/jvm-failed-to-start-java-io-ioexception-cannot-run-program-u ...
- vue中声明式导航和编程式导航
官方文档:https://router.vuejs.org/zh-cn/essentials/navigation.html 声明式导航和编程式导航 共同点: 都能进行导航,都可以触发路由,实现组件切 ...
- 7.数据处理函数 ---SQL
大多数SQL实现支持以下类型的函数. 用于处理文本字符串(如删除或填充值,转换值为大写或小写)的文本函数. 用于在数值数据上进行算术操作(如返回绝对值,进行代数运算)的数值函数. 用于处理日期和时间值 ...