問題背景:python
'{"backend": "www.baidu.org", "record": {"server": "10.0.0.9", "weight":20, "maxconn": 30}}'json
使用raw_input()獲取一個輸入的字典參數,獲得的是一個字符串,因此須要該字符串從新轉換爲字典fetch
看到這裏想到就是json轉換的問題:spa
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 import json 5 __author__ = 'jonsea' 6 7 if __name__ == '__main__': 8 op1 = raw_input('一、查找,二、添加,三、刪除\n請輸入須要操做的編號:') 9 data = raw_input("請輸入內容:") 10 11 if op1 == '1': 12 fetch_str(data) 13 else: 14 dict_data = json.loads(data) 15 print dict_data
在鍵入參數{'backend': 'www.baidu.org', 'record': {'server': '10.0.0.9', 'weight': 20, 'maxconn': 30}}後,可是運行結果報錯code
看到這裏,檢查了一下代碼沒問題,那就是輸入問題了,輸入字典格式沒問題,對比了一下官方文檔server
1 import json 2 json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]') 3 --------------------------------------------------------- 4 輸出:[u'foo', {u'bar': [u'baz', None, 1.0, 2]}]
後來查詢了下才知道:blog
單引號和雙引號仍是有區別的,不一樣於以前認爲二者都差很少。utf-8
json標準格式要求必須 只能使用雙引號做爲鍵 或者 值的邊界符號,不能使用單引號,並且「鍵」必須使用邊界符(雙引號)文檔
新問題:當數據量大時,難道只能用replace處理,再操做字符串