ExpressionJSON (.json)

予備知識

    • MIMEタイプ:application/json
    • データ交換形式.
    • ExpressionJSONはWolfram言語の式のJSON表現を与える.
    • JSONは一般にWebプログラミングに使用される.
    • JSONはJavaScript Object Notationから派生した頭字語である.
    • JSONはJavaScriptプログラミング言語のサブセットに基づく.テキスト形式.
    • JSONは2001年に開発された.
    • JSONはRFC 4627として公開された.

ImportとExport

  • Import["file","ExpressionJSON"]はExpressionJSON形式を使用するファイルをインポートし,通常のWolfram言語の式を生成する.
  • Export["file",expr,"ExpressionJSON"]は任意の式をExpressionJSONにエキスポートする.
  • 式の要素はExpressionJSONでは以下で表される:
  • "string""'string'"(JSONエスケープを使ったUTF-8)
    True, Falsetrue, false
    Nullnull
    symbol"symbol" (UTF-8)
    f[e1,e2,,opt1val1,]["f",e1,e2,,["Rule",opt1,val1],]
  • 機械整数はそのまま表される.大きい整数は"digits"で表される.
  • 機械精度数はe表記を使ってJSON数で表される.
  • 任意精度数はデフォルトでは"number"で与えられる.number は数のInputForm表現である.
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Import, Exportファイルからインポートする,あるいはファイルへエキスポートする
    CloudImport, CloudExportクラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする
    ImportString, ExportString文字列からインポートする,あるいは文字列へエキスポートする
    ImportByteArray, ExportByteArrayバイト配列からインポートする,あるいはバイト配列へエキスポートする

Import要素

  • 一般的なImport要素:
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト

オプション

  • Exportオプション
  • "Compact"False改行とタブを除外するかどうか
    "NullSymbols"{}JSON nullとして表すシンボルのリスト
    "PrecisionHandling"True大数を許可するかメッセージを発するか
  • "Compact"->n はインデントレベル n までの改行とタブを含む.

例題

  (5)

JSONリストをインポートする:

Stringをインポートする:

Quantityをインポートする:

式をJSON文字列にエキスポートする:

NoneをJSON nullに変換してリストをエキスポートする:

任意精度の数のリストをエキスポートする:

数のリストをエキスポートし,機械精度の数ではないものがあればエラーを発する:

"Compact"でインデントを制限して出力形式を制御する: