我的json处理模块,帮助处理日常使用的json(1)

前言

模块还有很多需要改进的地方,不过现在成品暂时能用,定为版本1.0.0
现在能处理两件事:
1.为对浏览器上的header信息转化成json,无需手动添加
2.为对多层嵌套的json文件进行处理,通过缩进表示内在嵌套规律
预计添加:
支持list嵌套显示,通过查看剪贴板完成工作,无需多余操作,异常检测,错误报告,美观的json格式

代码

def first(obj):
        headers={}
        obj=obj.split('\n')
        for line in obj:
            line=line.split(':',1)
            headers[line[0]]=line[1]
        print(headers)
        return headers
    
def second(the_dict, omit=False, level=0):
    for each_item in the_dict:
        if isinstance(the_dict[each_item], dict):
            for tab_stop in range(level):
                print('\t', end='')
            print("'{}'".format(each_item))
            second(the_dict[each_item],omit,level+1)
        else:
            for tab_stop in range(level):
                print('\t', end='')
            if omit:
                if len(the_dict[each_item]) > 70:
                    the_dict[each_item] = the_dict[each_item][:70] + '......'
            if isinstance(the_dict[each_item],int):
                print("'{}' : {}".format(each_item,the_dict[each_item]))
            else:
                print("'{}' : '{}'".format(each_item,the_dict[each_item]))

说明

First 为对浏览器的头信息加工成字典
Second 为显示嵌套字典内部结构,使用缩进表示,复制对应的信息就可以使用字典中要用的信息了
大于70个字符的values默认显示全,可以通过omit参数来进行省略,将后面改为…美观显示
使用了递归,逻辑应该是没错的

使用示范

first
比如在浏览器里面,直接复制headers是这样的

Request URL:https://re.csdn.net/csdnbi
Request Method:POST
Status Code:200 
Remote Address:117.122.217.89:443
Referrer Policy:unsafe-url

需要手动处理,麻烦
使用模块

first('''Request URL:https://re.csdn.net/csdnbi
Request Method:POST
Status Code:200 
Remote Address:117.122.217.89:443
Referrer Policy:unsafe-url''')

在这里插入图片描述
得到结果
在这里插入图片描述

second
有一个这样的字典

{'Request URL': 'https://re.csdn.net/csdnbi', 'Request Method': 'POST', 'Status Code': '200 ', 
'Remote Address': '117.122.217.89:443', 'Referrer Policy': 'unsafe-url','pl':{'lk':'lo','po':3}}

在这里插入图片描述
得到结果
在这里插入图片描述
层次结构很清楚。

多的以后再说吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值