① 如何用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')
② shell腳本如何從json文件讀取一個某個值
time=`cat json|awk -F"[xxx]" '/xxx/{print $x}'`
這樣去取參數
③ 何用shell或者python腳本格式化 json後綴名文件,並保存
importjson
str="{'price':542.23,'name':'ACME','shares':100}"
parsed=json.loads(str.replace(''','"'))
printjson.mps(parsed,indent=4,sort_keys=True)