Skip to content

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形式のデータはさまざまなツールで簡単に処理できます。