a=[{'id':1,'name':'zhu1','pid':0},{'id':2,'name':'zhu2','pid':0},{'id':3,'name':'1sub1','pid':1},{'id':4,'name':'1sub4','pid':1},{'id':5,'name':'2sub1','pid':3}]
def tojson(sr=None,sc=[]):
if sc:
for i in sc:
for j in sr:
if i['id']==j['pid']:i['sub'].append(j)
if i['sub']:tojson(sr,i['sub'])
else:
for i in sr:
i['sub']=[]
if i['pid']==0:sc.append(i)
tojson(sr,sc)
return sc
print(tojson(a))
def tojson(sr=None,sc=[]):
if sc:
for i in sc:
for j in sr:
if i['id']==j['pid']:i['sub'].append(j)
if i['sub']:tojson(sr,i['sub'])
else:
for i in sr:
i['sub']=[]
if i['pid']==0:sc.append(i)
tojson(sr,sc)
return sc
print(tojson(a))