JSON: JavaScript Object Notation¶
JSON(JavaScript Object Notation)は、key:valueのペアを使ってデータを構造化して表現できるテキスト形式です。
RFC8259(IETF標準)として公式に標準化されており、信頼性の高いデータ交換が保証されています。
そのため、プログラミング言語を問わず多くのシステムで設定ファイルや通信データの形式として利用されています。
{
"name": "OSECHI",
"version": "1.10.0",
"status": "active"
}
JSONの特徴¶
- 可読性: 人間が読みやすい形式
- 構造化: ネストされたオブジェクトや配列をサポート
- 言語中立: あらゆるプログラミング言語で処理可能
- 軽量: XMLより簡潔
JSONは厳格
JSONはコメントを許さなかったり、コンマに厳しかったり、非常に厳密です。
JSONL: JSON Lines¶
JSONL(JSON Lines)は、
1行ごとに1つのJSONオブジェクトを記述する形式です。
{"hit1": 100, "hit2": 85, "hit3": 92, "temp": 25.35}
{"hit1": 95, "hit2": 88, "hit3": 90, "temp": 25.36}
{"hit1": 102, "hit2": 87, "hit3": 94, "temp": 25.37}
kurikintonsでは、検出イベントをJSON形式で出力し、
JSONL形式でファイルに保存できるようにしています。
JSONLの読み込み方¶
pandas を使用:
import pandas as pd
df = pd.read_json('data.jsonl', lines=True)
print(df.head())
jq(コマンドラインツール):
cat data.jsonl | jq '.'
cat data.jsonl | jq '.hit1' # 特定フィールドを抽出
このように、JSONL形式のデータはさまざまなツールで簡単に処理できます。