JSON のエンコードとデコード
json.loads、json.dumps、json.load/dump で JSON の入出力を行います。
「JSON のエンコードとデコード」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全4レッスンが含まれています。
概要
json.dumps()
import json
d = {'name': 'Alice', 'age': 30, 'active': True}
print(json.dumps(d, indent=2))json.loads()
import json
s = '{"name": "Alice", "scores": [90, 85]}'
data = json.loads(s)
print(type(data), data['name'])ファイルへのjson.dump()
import json, tempfile, os
tmp = tempfile.mktemp(suffix='.json')
with open(tmp, 'w') as f:
json.dump({'x': 1}, f, indent=2)
print(open(tmp).read())
os.unlink(tmp)ファイルからのjson.load()
import json, io
buf = io.StringIO('{"key": "value"}')
data = json.load(buf)
print(data)JSONの型マッピング
import json
s = '[1, "two", true, null, {"a": 3.14}]'
print(json.loads(s))シリアライズできない型
import json
from datetime import datetime
def default(obj):
if isinstance(obj, datetime):
return obj.isoformat()
raise TypeError(f'{type(obj)} not serializable')
print(json.dumps({'ts': datetime.now()}, default=default))sort_keysとseparators
import json
d = {'z': 3, 'a': 1, 'm': 2}
print(json.dumps(d, sort_keys=True, separators=(',', ':')))整形出力
import json
d = {'name': 'Mehmet', 'city': 'Istanbul'}
print(json.dumps(d, indent=4, ensure_ascii=False))JSONDecodeError
import json
try:
json.loads('{bad json}')
except json.JSONDecodeError as e:
print(f'Parse error: {e}')JSONファイルの更新
import json, io
buf = io.StringIO('{"count": 5}')
data = json.load(buf)
data['count'] += 1
print(json.dumps(data))クイックチェック
まとめ
続けましょう
よくある質問
「JSON のエンコードとデコード」レッスンは無料ですか?
はい。「JSON のエンコードとデコード」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python Academyコースには全4レッスンが含まれています。
「JSON のエンコードとデコード」で何を学びますか?
json.loads、json.dumps、json.load/dump で JSON の入出力を行います。 ブラウザで直接実行するハンズオンコードでPython Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Python Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのPython Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「JSON のエンコードとデコード」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このPython Academyレッスンでコードを書いて実行できますか?
はい。すべてのPython Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。