python json dumps与loads
程序员文章站
2023-11-03 22:39:28
json.dumps() 是将一个Python数据结构转换为一个JSON编码的字符串 json.loads() 是将一个JSON编码的字符串转换为一个Python数据结构 一般要求当要字符串通过loads转为python数据类型时,得外层用单引号,里面元素key和value用双引号,不然会报错 直接 ......
json.dumps() 是将一个Python数据结构转换为一个JSON编码的字符串
json.loads() 是将一个JSON编码的字符串转换为一个Python数据结构
一般要求当要字符串通过loads转为python数据类型时,得外层用单引号,里面元素key和value用双引号,不然会报错
直接将字符串转换为字典时,会出现如下情况
>>> import json
>>> a = '{"a":1,"b":2}'
>>> b = json.loads(a)
>>> b
{u'a': 1, u'b': 2}
>>> a = '{"a":1,"b":2}'
>>> b = json.loads(a)
>>> b
{u'a': 1, u'b': 2}
字典的字符串元素前面均加了个‘u’, 这样产生的字典,再转成字符串,转会字典时会报错
>>> c
"{u'a': 1, u'b': 2}"
>>> d = json.loads(c)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/json/__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "/usr/local/lib/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/local/lib/python2.7/json/decoder.py", line 380, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 1 column 2 (char 1)
"{u'a': 1, u'b': 2}"
>>> d = json.loads(c)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/json/__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "/usr/local/lib/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/local/lib/python2.7/json/decoder.py", line 380, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 1 column 2 (char 1)
所以loads在处理中,还需要把里面的u前缀修饰符去掉
如果要避免,转换中字典元素出现‘u’,可以直接用eval()函数将其转为字典
In [212]: a
Out[212]: '{"a":"b"}'
In [213]: b =eval(a)
In [214]: b
Out[214]: {'a': 'b'}
Out[212]: '{"a":"b"}'
In [213]: b =eval(a)
In [214]: b
Out[214]: {'a': 'b'}
上一篇: 使用vue制作探探滑动堆叠组件的实例代码
下一篇: python函数参数的理解
推荐阅读
-
python json dumps与loads
-
Python开发之序列化与反序列化:pickle、json模块使用详解
-
python json.loads兼容单引号数据的方法
-
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
-
对json字符串与python字符串的不同之处详解
-
python解析json串与正则匹配对比方法
-
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
-
python的eval和json.loads(),json.dumps()
-
Python之dict(或对象)与json之间的互相转化实例
-
Python Json序列化与反序列化的示例