python3json文件
❶ 如何用python解析Json文件
下面給出一個使用python解析json的簡單例子:
#!/usr/bin/python
importjson
#Function:Analyzejsonscript
#,
#fordetail,pleasereferto"http://json.org/json-zh.html".
#Note:
#1.Also,,
#youshoulsempinsteadofload.pleaserreferto"help(json)".
#jsonfile:
#Thefilecontentoftemp.jsonis:
#{
#"name":"00_sample_case1",
#"description":"anexample."
#}
#f=file("temp.json");
#s=json.load(f)
#prints
#f.close
#jsonstring:
s=json.loads('{"name":"test","type":{"name":"seq","parameter":["1","2"]}}')
prints
prints.keys()
prints["name"]
prints["type"]["name"]
prints["type"]["parameter"][1]
❷ Python怎麼讀寫json格式文件
Python3中帶有json模塊。
import
json
包裝成
json
格式,下面out_dic
為Python的字典:
data_string
=
json.mps(out_dic)
讀的話:
decoded
=
json.loads(data_string)
這都是字元串處理。文件處理的話,與普通的文本讀寫都是一樣的。
❸ 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中的 字典 轉換為 字元串
❹ 如何用shell或者python腳本格式化 json後綴名文件,並保存文件,求助
不知道你用的哪個版的python
我使用python3可以處理有中文的json文件
讀寫json文件:http://python3-cookbook.readthedocs.org/zh_CN/latest/c06/p02_read-write_json_data.html
首先 import json
load() loads()
mp() mps()
一、從文件:
json轉Python數據結構:json.load
fo = open('data.json', 'r')
data = json.load(fo)
python數據結構轉json:json.mp
fo = open('data.json', 'r')
json.mp(data, fo)
二、python字元串和json之間互相轉換:
json_str = json.mps(data)
data = json.loads(json_str)
三、json格式化輸出:
1、格式化列印 pprint
2、格式化輸出
在編碼JSON的時候,還有一些選項很有用。 如果你想獲得漂亮的格式化字元串後輸出,可以使用json.mps() 的indent參數。
它會使得輸出和pprint()函數效果類似。比如:
print(json.mps(data, indent=4))
fo = open('data.json', 'r')
json.mp(data, fo, indent=4)
四、帶有中文的json轉換:
jsondata= json.mps( dics, ensure_ascii = False, indent = 4 )
在mps方法中加入參數ensure_ascii = False,可以使dic中的中文正常轉換
2、若python的數據中既有普通字元,又有Unicode字元串,上述方法則不行,還要在後面加上encode('utf-8')
手動轉換成utf-8編碼
jsondata= json.mps( dics, ensure_ascii = False, indent = 4 ).encode('utf-8')