python 單雙引號交替的json串


單雙引號交替的json串

1.常見的json串,類似於這種{"isSucess":true, "name":"yoyo", "status": "200"},里面的key和value都是雙引號。這種是可以用json模塊里面的loads轉成字典的

import json
a = '{"isSucess":true, "name":"yoyo", "status": "200"}'

b = json.loads(a)
print(b)
print(type(b))

 

運行結果

{'isSucess': True, 'name': 'yoyo', 'status': '200'}
<class 'dict'>

 

2.有時候返回的json數據並不是標准的雙引號,里面key和value有單引號也有雙引號,這種就比較坑了

{"isSucess":true, "result": '[{"name":"yoyo", "status": "200"}]'}

import json

c = '''{"isSucess":true, "result": '[{"name":"yoyo", "status": "200"}]'}'''
d = json.loads(c)
print(d)

 

直接這樣用json去轉,會報錯:json.decoder.JSONDecodeError: Expecting value: line 1 column 29 (char 28)

3.解決辦法

  • 先替換json串里面的true, false, null這種類型
f = '''{"isSucess":true, "result": '[{"name":"yoyo", "status": "200"}]'}'''
f1 = f.replace("true", "True").replace("false", "False").replace("null", "None")
print(eval(f1))

 

 

運行結果:

{'isSucess': 'True', 'result': '[{"name":"yoyo", "status": "200"}]'}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM