JSON (.json)

予備知識

    • MIMEタイプ:application/json
    • データ交換形式.
    • JSONのシンタックスを完全にサポートするが,特定の解釈を用いる.
    • Wolfram言語においてJSONオブジェクトを規則のリストと見なす.
    • 一般にWebプログラミングに使われる.
    • JSONはJavaScript Object Notationから派生した頭字語である.JavaScriptプログラミング言語の一部に基づく.
    • テキスト形式.
    • 2001年に開発された.
    • RFC 4627として公開された.

ImportとExport

  • Import["file.json"]はJSONファイルのルールベース表現を与える.
  • Export["file.json", expr]は規則のリストをJSONにエキスポートする.
  • Import["file.json","elem"]はJSONファイルから指定された要素をインポートする.
  • Import["file.json",{"elem","sub",}]はサブ要素をインポートする.
  • Import["file.json",{{"elem1","elem2",}}]は複数の要素をインポートする.
  • インポート形式はImport["file","JSON"]またはImport["file",{"JSON",elem,}]で指定できる.
  • Export["file.json",expr,"elem"]expr が要素 elem を指定してるとしてJSONファイルを作成する.
  • Export["file.json",expr,opt1->val1,]は指定されたオプションの要素が指定された値を取るものとして expr をエキスポートする.
  • Export["file.json",{"elem1"->expr1,"elem2"->expr2,},"Rules"]は規則を使ってエキスポートする要素を指定する.
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Import, Exportファイルからインポートする,あるいはファイルへエキスポートする
    CloudImport, CloudExportクラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする
    ImportString, ExportString文字列からインポートする,あるいは文字列へエキスポートする
    ImportByteArray, ExportByteArrayバイト配列からインポートする,あるいはバイト配列へエキスポートする

Import要素

  • 一般的なImport要素:
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト
  • データ表現要素:
  • "Data"ネストした規則で表されるJSONファイルの内容
    "Dataset"Datasetとして表されるJSONファイルの内容
  • Importはデフォルトで"Data"要素を使う.
  • "JSON"形式は{field1:value1,field2:value2,}という形式のJSONオブジェクトを,Wolfram言語における{"field1"->value1,"field2"->value2,}という形式の規則のリストと見なす.
  • "JSON"はJSONリスト[e1,e2,]をWolfram言語のリスト{e1,e2,}であると見なす.
  • Wolfram言語の文字列は,JSONではJSON標準で要求されるようにエスケープされたUTF-8の文字列で表される.
  • 科学的記数法が使用される数はJSONではE表記で与えられる.
  • シンボルTrueおよびFalseはJSONでは値trueおよびfalseで表される.
  • シンボルNullはJSON値nullで表される.

オプション

  • Exportオプション:
  • "Compact"Falseファイルの内容を整形するのに改行を使うかどうか

例題

すべて開くすべて閉じる

  (2)

JSONファイルの内容をインポートする:

化学元素とその特性のリストをJSONファイルにエキスポートする:

スコープ  (1)

JSONファイルのコンパクトな文字列表現を作成する:

Import要素  (2)

"Data"  (1)

ネストされたリストとしてJSONファイルをインポートする:

"Dataset"  (1)

DatasetとしてJSONファイルをインポートする:

考えられる問題  (1)

ImportString はASCIIでない文字を含む文字列からはJSON形式でインポートすることができない:

このような文字列をインポートするには,JSON標準で求められているようにデータをUTF-8に変換する: