DTPab

DTPにまつわるあれこれ

ExtendScriptでJSONオブジェクトを使う

何度か書いていますが、ExtendScriptはECMAScript3なので、ES5で実装されたJSON.parseメソッドやJSON.stringifyメソッドが使えません。
これを使えるようにするためには、JSONライブラリを実装します。

まずはここから「json2.js」をダウンロードします。

GitHub - douglascrockford/JSON-js: JSON in JavaScript

拡張子をjsからjsxincに変更し*1、適当な場所に保存してください(今回は仮にユーザーフォルダに直接置いたことにします)。

ExtendScriptの冒頭で、以下の1文を記述します。

#include ~/json2.jsxinc

#include以降は保存した場所の絶対パスです。適宜書き換えてください。
これでJSON.parseメソッドとJSON.stringifyメソッドが使えるようになります。

JSONオブジェクトの扱いや、JSONファイルの生成などはまた改めて。最近、自分用に作るスクリプトには外部ファイル連携させるものが増えてきていて、そういうときにJSONを利用しています。簡単なものはタブ区切りテキストとかでいいんですが、オブジェクトをそのまま記述できたりして便利です。

*1:実際はjsのままでも構いませんが、ExtendScriptではincludeするスクリプトは明示的にjsxincにしたほうが分かりやすいので、この流儀に従っています。