Python 字符';u';在加载json文件时

Python 字符';u';在加载json文件时,python,json,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}] 发生了什么事?有什么想法吗?u'是Unicode字符的前缀u'是Unicode字符的前缀你看到的u代表Unicode,这是一种非常常见的方法,可以让你管理所有现存语言中几乎所

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

import json

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

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

发生了什么事?有什么想法吗?

u'
是Unicode字符的前缀

u'
是Unicode字符的前缀

你看到的
u
代表
Unicode
,这是一种非常常见的方法,可以让你管理所有现存语言中几乎所有的字符。
将字符串编码为unicode是一个好主意,但是如果您想打印一个开头没有
u
的字符串,可以使用:

print(mystring.encode("utf-8"))

您可以关注关于
u
前缀的SO讨论,其中有人也引用了有关编码的内容。

您看到的
u
代表
unicode
,这是一种非常常见的方法,允许您管理所有现存语言中几乎所有的字符。
将字符串编码为unicode是一个好主意,但是如果您想打印一个开头没有
u
的字符串,可以使用:

print(mystring.encode("utf-8"))
您可以关注关于
u
前缀的SO讨论,其中有人也引用了有关编码的内容。

您不能将
'
用于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}]
您不能对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}]

可能重复的
u
代表unicode字符u不是字符,而是前缀。
u
没有任何危害。它不是数据的一部分,只是指定密钥为Unicode。当您打印Python数据结构(如这里的dict列表)时,通常会得到一个表示,您可以在Python代码中使用它来重新创建该结构。如果您希望它以特定的方式格式化,那么您需要说明如何格式化,而不是采用解释器的默认表示。简单的例子:
代表k,v在d.items():print(k,,,,v)
。可能重复的
u
代表unicode字符u不是字符,而是前缀。
u
没有任何危害。它不是数据的一部分,只是指定密钥为Unicode。当您打印Python数据结构(如这里的dict列表)时,通常会得到一个表示,您可以在Python代码中使用它来重新创建该结构。如果您希望它以特定的方式格式化,那么您需要说明如何格式化,而不是采用解释器的默认表示。简单示例:
用于k,v在d.items()中:打印(k,,,,v)