python自动格式化json文件的方法
2015-03-11 00:00
1056 查看
本文实例讲述了python自动格式化json文件的方法。分享给大家供大家参考。具体如下:
这里主要实现将代码混乱的json文件格式化。
还有一小堆python常用算法代码
完整实例代码点击此处本站下载。
希望本文所述对大家的Python程序设计有所帮助。
这里主要实现将代码混乱的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自动格式化json文件的方法
- Python格式化压缩后的JS文件的方法
- Python格式化压缩后的JS文件的方法
- Python格式化css文件的方法
- Python格式化css文件的方法
- python automated headers 自动生成格式化 注释文件 docstrings
- python读取json文件并将数据插入到mongodb的方法
- Python的Bottle框架中返回静态文件和JSON对象的方法
- Python的Bottle框架中返回静态文件和JSON对象的方法
- python 读写txt文件 json文件的实现方法
- python 读写txt文件 json文件的实现方法
- Python保存json文件并格式化
- python中解析json格式文件的方法示例
- Python Flask之处理客户端通过POST方法传送的数据(json文本,文件)
- Python脚本生成的exe文件自动升级程序实现方法
- Python实现将json文件中向量写入Excel的方法
- Python3实现将本地JSON大数据文件写入MySQL数据库的方法
- Python实现的json文件读取及中文乱码显示问题解决方法
- Python txt文件读取写入字典的方法(json、eval)
- 使用__del__方法在Python文件处理时保证文件关闭