json5について
概要
- json5はjsonのスーパーセット
- 以下の機能がjsonに比べて追加されている
- コメント -
//
で始まる行コメントと/* */
で囲まれたブロックコメント - キーの引用符の省略 - キーが識別子の場合は引用符を省略できる
- 末尾のカンマ - 配列やオブジェクトの末尾にカンマを置ける
- シングルクォート - 文字列をシングルクォートで囲める
- コメント -
インストール
python
$ pip install json5
動作例
python
import json5
# JSON5形式の文字列
json5_string = '''
{
// コメント
/* ブロックコメント */
name: "John Doe",
age: 30,
isStudent: false,
courses: ["Math", "Science", "Literature",],
address: {
street: "123 Main St",
city: "Anytown",
},
}
'''
# JSON5文字列をPythonのdictに変換
data = json5.loads(json5_string)
print(data)
"""
{'name': 'John Doe', 'age': 30, 'isStudent': False, 'courses': ['Math', 'Science', 'Literature'], 'address': {'street': '123 Main St', 'city': 'Anytown'}}
"""
data = {
"name": "Jane Doe",
"age": 25,
"isStudent": True,
"value": -float('inf')
}
# Pythonの辞書をJSON5形式の文字列に変換
json5_string = json5.dumps(data, indent=4)
print(json5_string)
"""
{
name: "Jane Doe",
age: 25,
isStudent: true,
value: -Infinity,
}
"""