Skip to content

JavaScript Implementation: AiSONについて

AiSON (AiScript Object Notation) は、AiScriptのメタデータ構文を基に作られたデータ交換用の構文です。

要素として関数を除く純粋なリテラルのみが許可されており、それ以外の式を含むと構文エラーとなります。

JSONに比べ、オブジェクトのkeyに"(ダブルクォーテーション)が必要ない・最終項の末尾に,(カンマ)がついていても許容されるなど、より柔軟で書きやすいものとなっています。

より厳密には:

  • トップレベルのオブジェクトはひとつしか許可されません。
  • 動的な式(関数・オブジェクトのvalueにたいする動的なバインディングなど)は許可されません。
  • 名前空間・メタデータはサポートされていません。
aiscript
{
	name: "example"
	version: 42
	keywords: ["foo", "bar", "baz"]
}

JavaScript API

AiSONをパースするための関数は@syuilo/aiscriptに内包されています。AiSON.parseでAiSONの文字列からJavaScript Valueへの変換が可能です。

TIP

現時点ではパースのみ可能です。AiSONへ変換する(AiSON.stringify)は実装されていません。

ts
import { AiSON } from '@syuilo/aiscript';

const data = AiSON.parse('{key: "value"}');