Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 什么是u';当我使用json.loads时是什么时候?_Python_Json_Encode - Fatal编程技术网

Python 什么是u';当我使用json.loads时是什么时候?

Python 什么是u';当我使用json.loads时是什么时候?,python,json,encode,Python,Json,Encode,我一直在编写一个Python脚本来解析来自SoundCloudAPI的JSON信息,我只是想知道当我使用JSON.load(val)时,“u”是什么,以及如何将JSON信息存储到一个没有u的对象中 i、 e.为什么在这方面存在u: >>> json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]') [u'foo', {u'bar': [u'baz', None, 1.0, 2]}] 请参阅此处的“解码JSON”部分以进一步理解我的

我一直在编写一个Python脚本来解析来自SoundCloudAPI的JSON信息,我只是想知道当我使用JSON.load(val)时,“u”是什么,以及如何将JSON信息存储到一个没有u的对象中

i、 e.为什么在这方面存在u:

>>> json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]')
[u'foo', {u'bar': [u'baz', None, 1.0, 2]}]
请参阅此处的“解码JSON”部分以进一步理解我的意思:

Unicode字符串。看

在Python源代码中,Unicode文本被写成以“u”或“u”字符为前缀的字符串:u'abcdefghijk'

-


u'
s用于指示应该创建Unicode字符串

json.dump
将字符串转换为unicode字符串并没有留下任何这样做的痕迹,因为
json.load
无法转换回来

要转换为字符串对象,请使用:

但要小心!如果出于某种原因,您
json.dump
加载了一个包含对象字符串和unicode字符串的对象,
yaml
会将所有内容作为对象字符串加载(尽管这确实是
json.dump
的错误)

另一篇有用的帖子:
>>> import yaml
>>> yaml.load('["foo", {"bar":["baz", null, 1.0, 2]}]')
>>> ['foo', {'bar': ['baz', None, 1.0, 2]}]