pythondump
⑴ python中使用json.mps()代替str()保留字典中的雙引號
Python里的字典,其鍵值對使用雙引號。
當使用str()轉換成字元串後,發現雙引號變成了單引號,若想要保留雙引號,可使用json.mps()代替str()。
示例:
import json
def main():
dict = {"1": "aa", "2": "bb", "3": "cc", "4": "dd"}
dict_str = str(dict)
dict_json = json.mps(dict)
print(dict_str)
print(dict_json)
if __name__ == '__main__':
main()
運行結果:
{'1': 'aa', '2': 'bb', '3': 'cc', '4': 'dd'}
{''1'': ''aa'', ''2'': ''bb'', ''3'': ''cc'', ''4'': ''dd''}
⑵ PYTHON關於提取返回JSON結果中特定欄位的問題
實際上JSON就是Python字典的字元串表示,但是字典作為一個復雜對象是無法直接轉換成定義它的代碼的字元串,Python有一個叫
simplejson的庫可以方便的完成JSON的生成和解析,這個包已經包含在Python2.6中,就叫json 主要包含四個方法:
mp和mps(從Python生成JSON),load和loads(解析JSON成Python的數據類型)mp和mps的唯一區別是
mp會生成一個類文件對象,mps會生成字元串,同理load和loads分別解析類文件對象和字元串格式的JSON
import json
dic = {
'str': 'this is a string',
'list': [1, 2, 'a', 'b'],
'sub_dic': {
'sub_str': 'this is sub str',
'sub_list': [1, 2, 3]
},
'end': 'end'
}
json.mps(dic)
#output:
#'{"sub_dic": {"sub_str": "this is sub str", "sub_list": [1, 2, 3]}, "end": "end", "list": [1, 2, "a", "b"], "str": "this is a string"}'
舉個簡單的例子就是:
import json
s = json.loads('{"name":"test", "type":{"name":"seq", "parameter":["1", "2"]}}')
print s
print s.keys()
print s["name"]
print s["type"]["name"]
print s["type"]["parameter"][1]
⑶ Python用json模塊時怎麼才能用mp存數據時自動換行呢
mp(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)
這個是參數列表,用indent就可以實現格式化,就可以換行了,如下:
⑷ python怎麼讀取json文件內容
JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。它基於ECMAScript的一個子集。 JSON採用完全獨立於語言的文本格式,但是也使用了類似於C語言家族的習慣(包括C、C++、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的數據交換語言。易於人閱讀和編寫,同時也易於機器解析和生成(一般用於提升網路傳輸速率)。
JSON在python中分別由list和dict組成。
這是用於序列化的兩個模塊:
json: 用於字元串和python數據類型間進行轉換
pickle: 用於python特有的類型和python的數據類型間進行轉換
Json模塊提供了四個功能:mps、mp、loads、load
pickle模塊提供了四個功能:mps、mp、loads、load
json mps把數據類型轉換成字元串 mp把數據類型轉換成字元串並存儲在文件中 loads把字元串轉換成數據類型 load把文件打開從字元串轉換成數據類型
json是可以在不同語言之間交換數據的,而pickle只在python之間使用。json只能序列化最基本的數據類型,josn只能把常用的數據類型序列化(列表、字典、列表、字元串、數字、),比如日期格式、類對象!josn就不行了。而pickle可以序列化所有的數據類型,包括類,函數都可以序列化。
事例:
mps:將python中的 字典 轉換為 字元串