python2.7 - python json字符串打印中文的问题(unicode)

查看:151
本文介绍了python2.7 - python json字符串打印中文的问题(unicode)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

  1. 做了一个小实验,代码如下:

    import json
    from pprint import pprint

    data = {

       'name' : 'ACME',
       'shares' : 100,
       'pptv' : [ {'pname':'中文', 'score' : 100}, {'pname' : '中文', 'score' : 200} ],
       'price' : 542.23

    }

    json_str = json.dumps(data)
    print(json_str)

输出如下:

{"price": 542.23, "pptv": [{"score": 100, "pname": "\u4e2d\u6587"}, {"score": 200, "pname": "\u4e2d\u6587"}], "name": "ACME", "shares": 100}

问题描述:

我将上述输出的json再次loads之后,转化成字典,print出来还是这样,中文还是没有被打印出来,但是通过字典把值取出来之后不做处理,直接print出来就是"中文"sys.getfilesystemencoding()是utf-8

疑惑:

1.有没有将json内容直接打印后显示出中文而不是unicode字符串(\u4e2d应该就是unicode字符串吧)
2.如果1这个问题没有方法实现,是不是只能json转化成dict,然后遍历,encode打印了?

自学比较笨,还请不吝赐教。

解决方案

问题已经解决,参考了(https://segmentfault.com/a/1190000003821...),在json.dumps的时候指定了ensure_ascci=false,就可以了。
但是在json.loads()的时候中文还是不能显示,但是已经可以解决大部分问题了。

这篇关于python2.7 - python json字符串打印中文的问题(unicode)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆