# -*- coding:utf-8 -*-
# Author: Lucy
"json的解析"
import json
# data = '{"a":"A","b":[2,4],"c":3.0}' #json格式
#
# decoded = json.loads(data)
# print("DECODED:",decoded)
def get_json_keys(json_str,json_keys = []):
if isinstance(json_str,list):
for json_obj in json_str:
for key in json_obj.keys():
if key not in json_keys:
json_keys.append(key)
elif isinstance(json_str,dict):
for key in json_str.keys():
if key not in json_keys:
json_keys.append(key)
return json_keys
def get_key_values(json_str,json_keys):
target_json = {}
for key in json_keys:
key_values = []
for json_obj in json_str:
if isinstance(json_obj,dict):
key_values.append(json_obj[key])
target_json[key] = key_values
return target_json
with open(r'E:\py_project\shuati\demo\1','r',encoding='utf8')as fp:
data = json.load(fp)
ks = get_json_keys(data)
print(ks)
print("*************************")
print(get_key_values(data, ks))
dic = {}
def json_txt(dic_json):
if isinstance(dic_json, dict): # 判断是否是字典类型isinstance 返回True false
for key in dic_json:
if isinstance(dic_json[key], dict): # 如果dic_json[key]依旧是字典类型
print("****key--:%s value--: %s" % (key, dic_json[key]))
json_txt(dic_json[key])
dic[key] = dic_json[key]
else:
print("****key--:%s value--: %s" % (key, dic_json[key]))
dic[key] = dic_json[key]
json_txt(data)
print("dic ---: " + str(dic))