Python 什么是u';当我使用json.loads时是什么时候?
我一直在编写一个Python脚本来解析来自SoundCloudAPI的JSON信息,我只是想知道当我使用JSON.load(val)时,“u”是什么,以及如何将JSON信息存储到一个没有u的对象中 i、 e.为什么在这方面存在u: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”部分以进一步理解我的
>>> 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]}]