これは InterSystems FAQ サイトの記事です。
ダイナミックオブジェクトの%ToJSONメソッドを利用することで簡単にJSONデータを送信することができます。
但し、標準的な方法では、出力するJSONのデータがIRIS文字列の最大長(約32万文字 正確には$SYSTEM.SYS.MaxLocalLength()が返す値)を超えると<MAXLENGTH>エラーとなります。
これを回避するためには、文字列として返すのではなく、%ToJSONメソッドの出力先としてStreamを指定し、その結果作成されたそのStreamデータを順次読み取って、出力先に書き出すようにする必要があります。
以下のように処理できます。