首页IT科技python json解码(python解析json文件方法)

python json解码(python解析json文件方法)

时间2025-09-19 17:47:57分类IT科技浏览5004
导读:我们在获取一份第三方的数据后,需要进行数据的分析,但发现它是json的文件形式并不能直接使用。这就需要用到解析的方法,我们在python中就可以完成这样操作。下面就json说进行简单说明,然后理清解析json文件 的思路,最后把相关的解析代码分享给大家,一起往下看具体内容。...

我们在获取一份第三方的数据后                ,需要进行数据的分析                        ,但发现它是json的文件形式并不能直接使用                。这就需要用到解析的方法        ,我们在python中就可以完成这样操作                        。下面就json说进行简单说明        ,然后理清解析json文件 的思路                        ,最后把相关的解析代码分享给大家                ,一起往下看具体内容        。

1.json说明

json就是一种长得像嵌套字典的字符串        。数据被“{}                ”和“[]                        ”层层包裹        ,需要“拆包        ”才能拿到我们需要的数据                        。

两种结构:

(1)“名称/值        ”对的集合(A collection of name/value pairs)                。不同的编程语言中                        ,它被理解为对象(object)                ,纪录(record),结构(struct)                        ,字典(dictionary)                        ,哈希表(hash table),有键列表(keyed list)                ,或者关联数组 (associative array)        。

(2)值的有序列表(An ordered list of values)                        。在大部分语言中                        ,它被实现为数组(array)        ,矢量(vector)                ,列表(list)                        ,序列(sequence)                。

2.解析思路

(1)新建两个函数A和B。

(2)函数 A处理字典数据        ,被调用后        ,判断传递的参数                        ,如果参数为字典                ,则调用自身;

(3)如果是列表或者元组        ,则调用列表处理函数B;

(4)函数 B处理列表                        ,被调用后                ,判断传递的参数,如果参数为列表或者元组                        ,则调用自身;

(5)如果是字典                        ,则调用字典处理函数A                        。

3.实例

代码中的get_target_value函数为A函数,_get_value为B函数                        。

#处理嵌套json文件中指定关键字 #处理字典值 defget_target_value(key,dic,tmp_list): """ :paramkey:目标key值 :paramdic:JSON数据 :paramtmp_list:用于存储获取的数据 :return:list """ ifnotisinstance(dic,dict)ornotisinstance(tmp_list,list):#对传入数据进行格式校验 returnargv[1]notandictorargv[-1]notanlist ifkeyindic.keys(): tmp_list.append(dic[key])#传入数据存在则存入tmp_list forvalueindic.values():#传入数据不符合则对其value值进行遍历 ifisinstance(value,dict): get_target_value(key,value,tmp_list)#传入数据的value值是字典                ,则直接调用自身 elifisinstance(value,(list,tuple)): _get_value(key,value,tmp_list)#传入数据的value值是列表或者元组                        ,则调用_get_value returntmp_list #处理元组或列表值 def_get_value(key,val,tmp_list): forval_inval: ifisinstance(val_,dict): get_target_value(key,val_,tmp_list)#传入数据的value值是字典        ,则调用get_target_value elifisinstance(val_,(list,tuple)): _get_value(key,val_,tmp_list)

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
织梦怎么新建页面(dedecms织梦JS代码实现导航高亮显示)