JSON

python自动格式化json文件的方法

字号+ 作者:H5之家 来源:H5之家 2015-11-11 13:21 我要评论( )

python自动格式化json文件的方法 2015-11-07 15:27 | 40人阅读 | 来源 本文实例讲述了python自动格式化json文件的方法。分享给大家供大家参考。具体如下: 这里主要实现将代码混乱的json文件格式化。 还有一小堆python常用算法代码 完整实例代码点击此处本站

python自动格式化json文件的方法

2015-11-07 15:27 | 40人阅读 | 来源

本文实例讲述了python自动格式化json文件的方法。分享给大家供大家参考。具体如下:

这里主要实现将代码混乱的json文件格式化。
还有一小堆python常用算法代码

完整实例代码点击此处本站下载。

class JsonFormatter: def __init__(self,intend=4,name=""): self.name=name self.intend=intend self.stack=[] self.obj=None self.source=self.get_source(name) self.prepare() @staticmethod def json_str(s): return '"'+s+'"' @staticmethod def get_source(name): with open(name,'r') as f: return ''.join(f.read().split()) def prepare(self): try: self.obj=eval(self.source) except: raise Exception('Invalid json string!') def line_intend(self,level=0): return '\n'+' '*self.intend*level def parse_dict(self,obj=None,intend_level=0): self.stack.append(self.line_intend(intend_level)+'{') intend_level+=1 for key,value in obj.items(): key=self.json_str(str(key)) self.stack.append(self.line_intend(intend_level)+key+':') self.parse(value,intend_level) self.stack.append(',') self.stack.append(self.line_intend(intend_level-1)+'}') def parse_list(self,obj=None,intend_level=0): self.stack.append(self.line_intend(intend_level)+'[') intend_level+=1 for item in obj: self.parse(item,intend_level) self.stack.append(',') self.stack.append(self.line_intend(intend_level-1)+']') def parse(self,obj,intend_level=0): if obj is None: self.stack.append('null') elif obj is True: self.stack.append('true') elif obj is False: self.stack.append('false') elif isinstance(obj,(int,long,float)): self.stack.append(str(obj)) elif isinstance(obj,str): self.stack.append(self.json_str(obj)) elif isinstance(obj,(list,tuple)): self.parse_list(obj,intend_level) elif isinstance(obj,dict): self.parse_dict(obj,intend_level) else: raise Exception('Invalid json type %s!' % obj) def render(self): self.parse(self.obj,0) res_file='good'+self.name res=''.join(self.stack) with open(res_file,'w') as f: f.write(res) print res if __name__=="__main__": jf=JsonFormatter(name="json.txt") jf.render()

希望本文所述对大家的Python程序设计有所帮助。

相关推荐

Python格式化css文件的方法

本文实例讲述了Python格式化css文件的方法。分享给大家供大家参考。具体实现方法如下: import string, sys import re, StringIO TAB=4 def format(ss): f = open (ss, "r") data = f.read() f.close() dlen = len(data) i = 0 buf = StringI

JSON格式化输出

今天有个需求是对输出的JSON进行格式化 首先想到的就是jsBeautifier之类的小插件 搜索了一番看到有一位朋友回答JSON.stringify可以输出格式化的JSON字符串 代码如下: JSON.stringify(jsObj, null, "\t"); // 缩进一个tab JSON.stringify(jsObj, null, 4);&nb

python格式化字符串实例总结

本文实例总结了python格式化字符串的方法,分享给大家供大家参考。具体分析如下: 将python字符串格式化方法以例子的形式表述如下: * 定义宽度 Python代码如下: >>>'%*s' %(5,'some') ' some' - 左对齐 Python代码如下: >>>'%-*s' %(5,'some') 'some ' 最小宽度为6的

json格式化/压缩工具 Chrome插件扩展版

安装方法: 用chrome浏览器访问 https://chrome.google.com/extensions/detail/pjkoglpbigbjijmncfkcpkcpddnelgbm?hl=zh-cn 【json格式化/压缩】工具 chrome下安装 :) 1、建一个新的文件夹 2、建一个名为 manifest.json的文件 3、打开这个 manifest.json文件,可以

苹果系统怎么格式化U盘?MAC格式化U盘的方法

格式化U盘对于 PC 电脑来说,要想在电脑格式化 U 盘是非常的方便,只需要在电脑中选中 U 盘,右键再选择格式化就好。由于系统的差异,要想在 Mac 电脑上格式化 U 盘就没那么简单了。下面小编就简单介绍下怎么在 Mac 上格式化 U 盘的操作方法。   第一步:先在 Mac 下打开“磁盘工具”应用,如图所示   第二步:接着在磁盘管理窗口的左侧选中想要格式化的 U 盘,这里切记不要选错,再点

磁盘的分区、格式化、挂载

磁盘分区、格式化、挂载磁盘分区 新增分区 查询分区 删除分区磁盘格式化 mkfs mke2fs磁盘挂载与卸载 mount umount 磁盘的分区、格式化、挂载 对于一个系统管理者( root

跟老齐学Python之从格式化表达式到方法

现在我们就格式化方法做一个详细一点的交代。 基本的操作 所谓格式化方法,就是可以先建立一个输出字符串的模板,然后用format来填充模板的内容。 代码如下: >>> #先做一个字符串模板 >>> template = "My name is {0}. My website is {1}. I am writing {2}."

Python datetime时间格式化去掉前导0

Python时间格式化的时候,去掉前导0的: dt = datetime.now() print dt.strftime('%-H') #结果是: '4' 在format string的%与flag之间,添加一个“-”即可。 在Mac和Linux中试过可用,不确定是否可以移植。

PHP数字格式化

例如,echonumber_format(285266237); 可以输出285,266,237 另外如果需要格式化文件字节大小,下面的方法可以借鉴: functionbyte_format($input,$dec=0) {&

JavaScript格式化日期时间的方法和自定义格式化函数示例

很多时候,我们可以利用JavaScript中Date对象的内置方法来格式化,如: 代码如下: var d = new Date(); console.log(d); // 输出:Mon Nov 04 2013 21:50:33 GMT+0800 (中国标准时间) console.log(d.toDateString()); // 日期字符串,输出:Mon Nov 04 2013 conso

零磁道受损的软盘格式化小技巧

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Python Resource

    Python Resource

    2016-02-03 10:07

  • 交互式数据可视化,在Python中用Bokeh实现

    交互式数据可视化,在Python中用Bokeh实现

    2016-02-03 08:43

  • 使用SOJSON.COM 新技能格式化JSON

    使用SOJSON.COM 新技能格式化JSON

    2016-01-17 13:07

  • @ResponseBody把返回的对象自动拼成JSON

    @ResponseBody把返回的对象自动拼成JSON

    2016-01-17 12:56

网友点评
t