我是靠谱客的博主 眼睛大毛衣,最近开发中收集的这篇文章主要介绍Python实现json解析中的问题及解决方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

        介绍几个在实际json解析过程中出现的问题,例子使用上篇Python实现递归解析json

        1、eval:将字符串转换成字典

json_demo = eval(line[2])


        1)对于这样的情况会报错,如下:

NameError: name 'false' is not defined

        这是由于eval不支持null,true,false等,没办法转换为正确的None,True,False。

        解决的办法是:定义一个全局的变量,如false=False,再去调用eval就可以正常使用了。

false = False

        2、打印中文字典:

        使用上述将字符串转换成字典的方式,会引起字符编码的问题,如果字典中有中文,会这样:

't3': 'target_xe9xa6x96xe9xa1xb5-xe6xb5xb7xe6x8axa5xe8xa7x86xe9xa2x91xe7x82xb9xe5x87xbb'

        解决方法是:首先在文件开头定义使用utf-8编码。

# -*- coding: utf8 -*-

        两种方式:

        1)使用循环:即逐层嵌套解析;

        2)使用json:

demo_line = json.dumps(json_demo,encoding="UTF-8",ensure_ascii=False)

        打印结果如下:

"t3": "target_首页-海报视频点击"

        3、格式化输出json.

        使用如下方法,就可以将json格式化为非常清晰的样子:

demo_line = json.dumps(json_demo,encoding="UTF-8",ensure_ascii=False,indent=1)


最后

以上就是眼睛大毛衣为你收集整理的Python实现json解析中的问题及解决方法的全部内容,希望文章能够帮你解决Python实现json解析中的问题及解决方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部