近期知识点(三)

1、json.load/json.loads和json.dump/json.dumps

Python中用json.load() json.loads()加载json数据的方法_ScratKong的博客-CSDN博客_json.loads()方法

①json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数。

② json.loads()用于将str类型的数据转成dict。

③ json.dump()用于将dict类型的数据转成str,并写入到json文件中。

④ json.load()用于从json文件中读取数据。

2、isinstance函数

3、# -*-coding:utf-8-*- 

4、练习1:

import json

filename = (r'C:\Users\Administrator\Downloads\parse_json.json')

with open(filename,'r',encoding='utf-8') as f:

    jsObj = json.load(f)

urlTotol = []

for one in jsObj['item']:

    url1 = one["request"]['url']

    print(url1)

    if url1.get('raw'):#判断key为空

        urlTotol.append(url1['raw'])

    else:

        if url1.get('host'):

            host ='.'.join(url1['host'])#字符串的拼接

        if url1.get('path'):

            if isinstance(url1.get('path'), list):#path为字符串、list进行处理

                path = '/'.join(url1['path'])

                url = host + path

            elif isinstance(url1.get('path'), str):

                url = host + url1['path']

        if url1.get('query'):

            query1 = []

            for one in url1['query']:

                query1.append(one['key']+'='+one['value'])

            query = '?'.join(query1)

        urlTotol.append(url+query)

print('urlTotol>>>>',urlTotol)

import json

filename = (r'C:\Users\Administrator\Downloads\parse_json.json')

with open(filename,'r',encoding='utf-8') as f:

    jsObj = json.load(f)

urlTotol = []

for one in jsObj['item']:

    url1 = one["request"]['url']

    print(url1)

    if url1.get('raw'):

        urlTotol.append(url1['raw'])

    else:

        if url1.get('host'):

            host ='.'.join(url1['host'])

            print('host>>>',host)

        if url1.get('path'):

            if isinstance(url1.get('path'), list):

                path = '/'.join(url1['path'])

                url = host +'/'+ path

                print('url>>>',url)

            elif isinstance(url1.get('path'), str):

                url = host + url1['path']

                print('url>>>', url)

        if url1.get('query'):

            query1 = []

            for one in url1['query']:

                query1.append(one['key']+'='+one['value'])

            query = '&'.join(query1)

            print('query>>>',query)

        urlTotol.append(url+'?'+query)

print('urlTotol>>>>',urlTotol)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值