python循环套用递归进行多层json解析

本文介绍如何使用Python结合循环和递归方法解析具有四层深度的JSON数据,详细展示了具体的实现代码。
摘要由CSDN通过智能技术生成

废话不多说。。。这个循环递归真是折磨了我两天。。。

上代码解析一个四层json

# -*- coding:utf-8 -*-
'''
Created on 2019

@author: pt0521
'''
import re
import json as js
import sys
def get_json_nums_of_layers(file_path):
    fo=open(file_path,'r',encoding='utf-8')
    jsonstr = fo.read()#将json作为整个的字符串读取进去
    pos1=list()#用于存放
    for m in re.finditer('{', jsonstr):
        pos1.append(m.start())
    print(pos1)
    pos2=jsonstr.find('}')
    print(pos2)
    for i in range(len(pos1)):
        if pos1[i]>pos2:
            return i
        else:
            return len(pos1)
    fo.close()
 
def get_json(file_path,nums_layer_toget):
    obj={}
    num=1
    if(nums_layer_toget>get_json_nums_of_layers(file_path)):
        print("所要解析的层数超过该json拥有的层数!请修正")
    else:
        fo=open(file_path,'r',encoding='utf-8')
        jsonstr = fo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值