加载json文件中的字符“ u”

时间:2018-12-18 09:45:16

标签: python json

当我尝试使用以下代码加载json文件时,它会提供一些u字符:

import json

with open('strings.json') as json_data:
    d = json.load(json_data)
    print(d)

 [{u'goat': 45}, {u'chicken': 45}]

怎么回事?有什么想法吗?

3 个答案:

答案 0 :(得分:2)

u'是Unicode字符的前缀

答案 1 :(得分:1)

您看到的{% set group = 'machine-' + tag %} {% if ansible_fqdn in groups[group] %} {% for host in groups[group] %} echo "Do some magic with my {{ tag }}" {% endfor %} {% endif %} 代表u,这是一种非常普遍的codification system,可让您管理几乎所有存在的所有语言中的字符。
最好将字符串编码为unicode,但是如果要在开始时不使用unicode来打印字符串,则可以使用:

u

Here,您可以在print(mystring.encode("utf-8")) 前缀上进行SO讨论,有人会在编码中引用this amazing article

答案 2 :(得分:-1)

您不能将''用于JSON格式。您必须将""用于JSON格式。并且您使用了u'something' Unicode格式。在本节中无需使用Unicode。有时需要对b''进行二进制编码。

所以您的代码看起来像

import json

with open('strings.json', encoding("utf-8")) as json_data:
    d = json.load(json_data)
    print(d)

   #[{"goat": 45},{"chicken": 45}]