3、Python処理JSONデータ

8231 ワード

前の文章は簡単に次のJSONの基礎を理解して、この文章はPythonがどのようにJSONを処理するかを勉強して、それから自動化の中でどのようにJSONファイルを使って配置ファイルを作るかを紹介します.
Python 3.xバージョンはJSONモジュールが付属しており、自分でインストールする必要はありません.
一、JSONモジュール
-json:文字列とpythonデータ型の変換に使用-jsonモジュールには、dumps、dump、loads、loadの4つの機能があります.
dumpは取り外す意味があって、Python dumpは取り外して、JSONにコードします
loadはロードの意味があって、JSON loadはロードして、Pythonに復号します
1、dumps:
辞書を
ワード
文字列
import json

dict1 = {"name":"storm","age": 30}
print(dict1)
print(type(dict1))

j1 = json.dumps(dict1)
print(j1)
print(type(j1))
実行結果
{'name': 'storm', 'age': 30} {"name": "storm", "age": 30}
2、dump:辞書を文字列に変換し、jsonファイルに書き込む
import json

dict1 = {"name":"storm","age": 30}
print(dict1)
print(type(dict1))

with open("1.txt","w") as f:
    j1 = json.dump(dict1,f)
    print(j1)
    print(type(j1))
実行結果:
コンソールの出力は次のとおりです.
{'name': 'storm', 'age': 30} None
別のファイル1を生成する.txt、格納されている内容は:
{"name": "storm", "age": 30}

分析:dumpは変換を直接ファイル1に保存した.txtでは、変数j 1には格納されていないので、j 1印刷はNone
3、loads:文字列を辞書に変換する
import json

str1 = '{"name":"storm","age": 30}'
print(str1)
print(type(str1))

dic = json.loads(str1)
print(dic)
print(type(dic))
実行結果:
{"name":"storm","age": 30} {'name': 'storm', 'age': 30}
4、load:ファイルを開き、文字列をデータ型に変換する
前に保存したファイルを読み込みます.txt
import json

with open("1.txt",'r') as f:
    print(type(f))
    dic = json.load(f)
    print(dic)
    print(type(dic))
実行結果
{'name': 'storm', 'age': 30}
二、応用
1、辞書タイプのデータファイルを読み込む
login.jsonファイルの内容は以下の通りです.
{
"user1":{"name":"storm","password":"123456"},
"user2":{"name":"duzl","password":"123123"}
}

コンテンツの読み込み
import json
file = "login.json"

with open(file,'r') as f:
    users = json.load(f)
    print(type(f))
    print(type(users))
    print(users)

for user in users:
    name = users[user]['name']
    password = users[user]['password']
    print(name,password)
実行結果
{'user1': {'name': 'storm', 'password': '123456'}, 'user2': {'name': 'duzl', 'password': '123123'}} storm 123456 duzl 123123
2、リストタイプのデータファイルを読み込む
arr.jsonファイル
[
  {
    "name":"storm",
    "age":30
  },
  {
    "name":"lina",
    "age":22
  }
]
Pythonファイル
import json

file = "arr.json"

with open(file,'r') as f:
    ss = json.load(f)

for s in ss:
    print(s)
    print(s["name"])
    print(s["age"])
実行結果:
{'name': 'storm', 'age': 30} storm 30 {'name': 'lina', 'age': 22} lina 22