Blue Sky NDJSON
Blue Sky NDJSON は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
01-blue-sky.ndjson8d7276a1905675b2c4c3408161571e16d7fdcf3fdbf489cf9210b778e404217aData
1行に1つのJSON値を並べるストリーミング向けデータ形式。ログやバッチ処理でよく使われます。
7B {SIGNATURE = bytes.fromhex("7b")
OFFSET = 0
def is_ndjson(path: str) -> bool:
with open(path, "rb") as f:
f.seek(OFFSET)
head = f.read(len(SIGNATURE))
return head == SIGNATUREconst SIGNATURE = [0x7b];
const OFFSET = 0;
// bytes: a Uint8Array / Buffer holding the start of the file
export function isNdjson(bytes) {
return SIGNATURE.every((byte, i) => bytes[OFFSET + i] === byte);
}package fileid
import "bytes"
var isndjsonSignature = []byte{0x7b}
const isndjsonOffset = 0
func IsNdjson(b []byte) bool {
end := isndjsonOffset + len(isndjsonSignature)
if len(b) < end {
return false
}
return bytes.Equal(b[isndjsonOffset:end], isndjsonSignature)
}const SIGNATURE: &[u8] = &[0x7b];
const OFFSET: usize = 0;
fn is_ndjson(bytes: &[u8]) -> bool {
bytes.get(OFFSET..OFFSET + SIGNATURE.len()) == Some(SIGNATURE)
}<?php
$signature = "\x7b";
$offset = 0;
function is_ndjson(string $bytes): bool {
global $signature, $offset;
return substr($bytes, $offset, strlen($signature)) === $signature;
}Newline Delimited JSON はデータ交換、インポート/エクスポート、パーサのテスト、検証ワークフローで使われます。エンコーディング・区切り文字・バージョン・コンテナ構造が実装の挙動を変えることがあります。
形式が判定できたからといって、信頼できない入力が安全とは限りません。パーサ例外・巨大ファイル・想定外のエンコーディング・外部参照を考慮してください。
11 個のサンプルで、先頭バイト判定・パーサのエラー・アップロード上限・ダウンロード挙動をテストできます。
Blue Sky NDJSON は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
01-blue-sky.ndjson8d7276a1905675b2c4c3408161571e16d7fdcf3fdbf489cf9210b778e404217aFlower Garden NDJSON は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
02-flower-garden.ndjson64a8414758a1c618180e343e7673d20f271e469c8ccbdb129fd552999cf1685aNavy Blue Sky NDJSON は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
03-navy-blue-sky.ndjsond667e600fe8e879f57c6718162c6c437506f19545b0dda322ab955cf4b0d469bNature of the Sky NDJSON は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
04-nature-sky.ndjson35bb71f13fe7599219a4c6aa2817da266b1b412f2c9e2fb6ba0faa12a2006d83Sky Landscape NDJSON は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
05-sky-landscape.ndjson621e500353508a74dc3f718738eae9ee8cffadd7aab152c4d88caeb61ef189efStarry Sky NDJSON は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
06-starry-sky.ndjson37c19e64aff8b6b4a91645f79761e28a5007f74a81e381828f1b01a107d9cfc9Blue Night Sky NDJSON は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
07-blue-night-sky.ndjson34467b79eee3ed7184243cdf8a764937d213c7809def48448f2e0e24f90d01f2Hibiscus Flower NDJSON は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
08-hibiscus-flower.ndjson1d50dcf715c4fe621060ee607ce86518633e0ad2ffcb456d7bf28cea30bb0411Arctic Sky NDJSON は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
09-arctic-sky.ndjson041153e643f792c655c8f6312f481bd6570b4b9c8ac73f0263697f9ebf2fc7c3Sunset Rays NDJSON は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
10-sunset-rays.ndjson795d3f86a48a48d3cb46d9a65d791673017c54e4b11bdd84f4b5a15889af3b1dNASA Blue Marble NDJSON は のサンプル(NASA Image and Video Library を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
nasa-blue-marble-2012-east.ndjsone108e76333f8782f2f3d7636a7245b5ee0340132e6057c08e7ec6d28d7b991ccNewline Delimited JSON ファイルはバイトシグネチャ 7B ("{") で始まります。拡張子に頼らず、この先頭バイトを読み取って形式を判定してください。
Newline Delimited JSON のMIMEタイプは application/x-ndjson, application/jsonl です。
Newline Delimited JSON ファイルは .ndjson, .jsonl 拡張子を使います。拡張子は慣習にすぎず中身を保証しないため、シグネチャや構造のチェックと組み合わせてください。