JavaScriptExpression

予備知識

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

ImportとExport

  • Import["file","JavaScriptExpression"]はネストしたリストと連想の組合せとしてJSONファイルを返す.
  • ImportString["string","JavaScriptExpression"]はJSON文字列をインポートする.
  • Export["file",expr,"JavaScriptExpression"]はネストしたリストと連想の組合せをJSONファイルにエキスポートする.
  • ExportString[expr,"JavaScriptExpression"]はJSON文字列にエキスポートする.
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Import, Exportファイルからインポートする,あるいはファイルへエキスポートする
    CloudImport, CloudExportクラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする
    ImportString, ExportString文字列からインポートする,あるいは文字列へエキスポートする
    ImportByteArray, ExportByteArrayバイト配列からインポートする,あるいはバイト配列へエキスポートする

Import要素

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

オプション

  • Exportオプション:
  • "Compact"False改行とタブを除外するかどうか
    "ConversionFunction"None追加の変換のために適用する関数
    "ConversionRules"{}変換をオーバーライドまたは変換を追加するために適用する規則
  • 組込みの変換が行われる前に部分式を置換するためには"ConversionRules"の設定を使用する.
  • "ConversionFunction"の設定は組込みの変換が定義されていない部分式に適用される.
  • "Compact"->n はインデントレベル n までの改行とタブを含む.

例題

  (3)

JavaScriptのリストをインポートする:

JavaScriptオブジェクトから成る文字列を与える:

この文字列をインポートすると,連想が返される:

Node.jsを使ってExternalEvaluateからJavaScript式をインポートする:

これが"Expression""ReturnType"を使った場合と同じであることを確認する:

JavaScriptオブジェクトをExternalEvaluateで評価し,連想としてインポートする: