python 字符串转 json

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 字符串转 json相关的知识,希望对你有一定的参考价值。

json本身就是字符串,是符合json格式的字符串。
所以,你说的,字符串转json,就是不正确的描述。

一般正常的用法是:
涉及到,在json字符串,来自字符变量或文件内容,和不同类型的变量,之间的转换。

变量转json:
json.dumps或json.dump

json转变量:
json.loads或json.load

详解:
【整理】Python中将(字典,列表等)变量格式化成(漂亮的,树形的,带缩进的,JSON方式的)字符串输出
【整理】什么是JSON+如何处理JSON字符串

(此处不给贴地址,请自己用google搜标题,即可找到帖子地址)
参考技术A python字符串转json对象,需要使用json模块的loads函数,如下所示:
>>> import json
>>> s = '"skey":"val","ikey":10'
>>> jo = json.loads(s)
>>> jo
'ikey': 10, 'skey': 'val'
>>> jo['ikey']
10
>>> jo['skey']
'val'

json.loads介绍:
json.loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
Deserialize s (a str instance containing a JSON document) to a Python object using this conversion table.
The other arguments have the same meaning as in load(), except encoding which is ignored and deprecated.
If the data being deserialized is not a valid JSON document, a JSONDecodeError will be raised.
参考技术B >>> import json
>>> a = json.loads('"a":"b"')
>>> a
u'a': u'b'

4_2 json字符串转Python对象

 

 1 """json字符串到Python对象"""
 2 
 3 
 4 import json
 5 
 6 json_str = [{"username": "张三", "age": 18, "country": "china"}, {"username": "lisi", "age": 20, "country": "USA"}]
 7 # json字符串到Python对象
 8 persons = json.loads(json_str)
 9 print(type(persons))        # <class ‘list‘>
10 for person in persons:
11     print(person)
12 
13 # 从json文件中读取json数据
14 with open(4_1person.json, r, encoding=utf-8) as fp:
15     persons = json.load(fp)
16 print(type(persons))  # <class ‘list‘>
17 for person in persons:
18     print(person)

 

以上是关于python 字符串转 json的主要内容,如果未能解决你的问题,请参考以下文章

python怎么把json文件转换成字符串

Python字符串和json类型的相互转换实例演示,python字符串转jsonjson转字符串

python-字符串处理-字符串‘转‘JSON并取值

python3 对象 字典jsonyaml字符串 相互转化

Python群答疑没有key的字符串如何转字典--json和demjson

Python工程师Java之路(r)把字符串转成JSON