json#
python でjson ファイルを扱うには標準モジュールの json
を使用
loads()#
JSON形式の文字列を辞書として読み込むにはjson.loads()関数を使用。
text = """
{
"hostnames":["Router1","Router2","Router3"],
"interfaces":["Gi0/0/0/0","Gi0/0/0/1","Gi0/0/0/2"],
"location":[
{"Japan":"Tokyo"},
{"USA":"NewYork"}
]
}
"""
data = json.loads(text)
print(data)
print(type(data))
load()#
JSONファイルを辞書として読み込むにはjson.load()
を使用する。
with open("data.json", "r", encoding="utf-8") as f:
data = json.load(f)
print(data)
print(type(data))
dumps()#
辞書をJSON形式の文字列(str)として出力するにはjson.dumps()を使用。
import json
data = {
"hostnames":[
"Router1",
"Router2",
"Router3"
],
"interfaces":[
"Gi0/0/0/0",
"Gi0/0/0/1",
"Gi0/0/0/2"
],
"location":[
{"Japan":"Tokyo"},
{"USA":"Newyork"}
]
}
json_data = json.dumps(data, indent=4)
print(json_data)
dump()#
辞書をJSONファイルとして保存するには json.dump() を使用。
import json
data = {
"hostnames":[
"Router1",
"Router2",
"Router3"
],
"interfaces":[
"Gi0/0/0/0",
"Gi0/0/0/1",
"Gi0/0/0/2"
],
"location":[
{"Japan":"Tokyo"},
{"USA":"Newyork"}
]
}
with open('sample.json', 'w') as f:
json.dump(data, f, indent=4)
memo
json.dump() に引数indent (文字数) を渡すと要素数ごとに改行・インデントされる