記事 Megumi Kakechi · 4月 7, 2021 4m read

これは InterSystems FAQ サイトの記事です。
ファイル入出力処理を行うには、ライブラリクラスを利用する方法が便利です。

ライブラリクラスを使用する以外には、Open/Use/Close コマンドを使用する方法もあります。<※1>

ファイル入出力処理には、%Library.Fileクラス、%Stream.FileCharacter/%Stream.FileBinary を使用します。

簡易例やプロパティ/メソッド詳細は、以下ドキュメントをご参照ください<※2>。
クラスリファレンス【IRIS】
クラスリファレンス

【補足】
%Libraryパッケージは、クラス定義構築基盤として利用するクラスが多いためパッケージ名を省略することができます。
(%Library.File は %File として利用できます)
 

【A】%Fileクラスを利用する方法

%Fileクラスには、ファイル入出力操作の他に、ディレクトリ作成(CreateDirectory()など)/存在チェック(Exists())/OS非依存でファイルパス取得(NormalizeFilename()など)が行える様々な便利メソッドを用意しています。

ファイル出力処理手順は以下の通りです。

(1) ファイル用オブジェクトを作成

ファイル名をフルパスで指定しながらファイル用オブジェクトを作成します。

0
0 1559
記事 Makiko Kokubun · 4月 6, 2021 1m read

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。

既に運用されている電子カルテ・処方のデータや蓄積されているデータを、FHIR に変換して活用したいというニーズは、FHIR アプリケーションを構築するにあたり最も多いご要望の一つです。

この動画では、InterSystems IRIS for Health を使用して、HL7/SS-MIX2 やCSV など他形式のデータから FHIR データへ変換する方法について、デモをまじえてご紹介いたします。

この開発者コミュニティでは他にも IRIS の FHIR 機能に関連した多くの記事を公開しています。
FHIR にご興味ある方はぜひご覧ください。

0
1 524
記事 Toshihiko Minamoto · 4月 5, 2021 11m read

はじめに

Webで行われるサーバーとクライアント間のほとんどの通信は、リクエストとレスポンスの構造に基づいており、 クライアントがサーバーにリクエストを送信すると、サーバーがそのリクエストに対するレスポンスを送信します。 WebSocketプロトコルは、サーバーとクライアント間の双方向通信チャンネルを提供するプロトコルで、サーバーがリクエストを受信しなくても、クライアントにメッセージを送信することができます。 WebSocketプロトコルと、InterSystems IRISでの実装についての詳細は、以下のリンクをご覧ください。

このチュートリアルは、「非同期WebSocket -- クイックチュートリアル」を、Caché 2016.2以上とInterSystems IRIS 2018.1以上向けに更新したものです。

非同期動作と同期動作

InterSystems IRISでは、WebSocket接続を同期的または非同期的に実装することができます。 クライアントとサーバー間のWebSocket接続がどのように動作するかは、%CSP.WebSocketクラスの「SharedConnection」プロパティによって決まります。

0
0 3662
記事 Mihoko Iijima · 4月 2, 2021 2m read

これは InterSystems FAQ サイトの記事です。

MM/DD-hh:mm:ss:938 ( 0) 1 Failed to allocate xxxMB shared memory using large pages. Switching to small pages.
MM/DD-hh:mm:ss:938 ( 0) 0 Allocated xxxMB shared memory: yyyMB global buffers, zzzMB routine buffers

コンソールログ(cconsole.log/messages.log)に上記のようなメッセージがある場合は、Large Page でのメモリ確保に失敗して、Small Page でメモリを確保したことを示しています。

Allocated xxxMB が設定サイズと同じ場合、Small Pageでメモリ確保ができていますので、設定サイズを減らす必要はありません。

このメッセージは、起動時に十分な空きメモリが連続領域で確保されていないために発生しています。

デフォルトの設定では、WindowsOS が管理するメモリ領域の中で Large Page という領域にメモリを連続的に確保します。

0
0 2003
記事 Mihoko Iijima · 4月 2, 2021 1m read

これは InterSystems FAQ サイトの記事です。

アプリケーション等がデータベースにアクセスしている最中に、データベースの最大サイズの変更や未使用領域の開放などのデータベース設定変更を行うことにより、データベース整合性等に悪影響を及ぼすことはありません。

しかし、未使用領域の開放などは、ディスクアクセスの増加やメモリの使用等でシステムに負荷をかける可能性があるため、その観点からシステム運用に影響が出ないよう注意が必要です。

0
0 165
記事 Toshihiko Minamoto · 3月 31, 2021 13m read

デベロッパーの方なら、反復的なコードを書いた経験があると思います。 プログラムを使ってコードを生成できたら楽なのに、と考えたことがあるかもしれません。 まさに自分のことだと思った方、ぜひこの記事をお読みください!

まずは例をお見せします。 注意: 次の例で使用する %DynamicObject インターフェースは Caché 2016.2 以上のバージョンが必要です。 このクラスに馴染みのない方は、Using JSON in Caché と題したドキュメンテーションをお読みください。 とても重宝すると思います!

データを保管するために使う %Persistent というクラスがあります。 %DynamicObject インターフェースを使い、データを JSON 形式で取り込むとしましょう。 どうすれば %DynamicObject 構造をクラスにマッピングできると思いますか? ソリューションの 1 つに、値を直接コピーするコードを書くという方法があります。

0
0 285
記事 Makiko Kokubun · 3月 30, 2021 1m read

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。
 

この動画では、FHIR をご存じない方に向けて FHIR の概要を解説し、日本における FHIR 標準化活動の状況や国内外の事例を紹介しています。

後半の16分~くらいからは、InterSystems IRIS for Health が提供する FHIR リポジトリに代表される FHIR 関連機能と、今後の機能ロードマップを紹介しています。

この開発者コミュニティでは他にも IRIS の FHIR 機能に関連した多くの記事を公開しています。
FHIR にご興味ある方はぜひご覧ください。

0
0 556
お知らせ Toshihiko Minamoto · 3月 30, 2021

開発者の皆さん、こんにちは。

ご存知かもしれませんが、インターシステムズ開発者コミュニティは仕事探しのお手伝いをしています。具体的には開発者自身の仕事探しと会社に必要なスタッフ探しです。インターシステムズ開発者コミュニティにアナウンスを投稿するだけで、探しているものが見つかります。

詳細については以下をご覧ください。

0
0 174
質問 Yuji Ohata · 3月 29, 2021

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

ObjectScriptでは様々な型の変数定義が可能ですが、
実際に定義された変数(Object)から、その変数の型を逆引きする方法を
ご存じな方はいらっしゃいませんでしょうか?

理想としては、Java等で利用可能な『instanceof』演算子の
代替えとなるような仕組みが望ましいです。

力技で何とかなりそうなら、専用のメソッドみたいなものを
自作で作ってもよいかなとは考えておりますが、
現状その力技すら思いついていない状況です。。。

何か情報をお持ちの方がいらしたら、助言いただけますと幸いです。

4
0 453
記事 Toshihiko Minamoto · 3月 29, 2021 10m read

FHIR Terminology Serviceの仕様には、 CodeSystemValueSet、およびConceptMapリソースでの一連の演算子が記述されています。 これらの演算子の内、以下の4つの演算子が最も広く採用されているようです。

IRIS for Health 2020.1で導入された新しいFHIRフレームワークを学ぶには、仕様の部分的な実装を開発するのが最も効果的と言えます。 実装には上記の4つの演算が含まれており、CodeSystemValueSetリソースでreadsearch操作がサポートされています。

実装には単純なObjectScript永続クラスがソース用語テーブルとして使用されていることに注意することが重要です。

0
0 310
お知らせ Mihoko Iijima · 3月 29, 2021

開発者の皆さん、こんにちは!

第11回 IRIS プログラミングコンテスト - 開発者ツール編 の 続報 📣 の「テクノロジーボーナス」についてご紹介します。

今回のコンテストも、チームで開発した作品もご応募いただけます!ぜひコンテスト詳細ページもご確認ください!

Docker container usage - 2 points

アプリケーションがコンテナ版 IRIS を使用している場合「Docker container」ボーナスを獲得できます!

シンプルな開発環境テンプレートをご用意しています。ぜひご利用ください。

ZPM Package deployment 2 points

フルスタックアプリケーション用の ZPM(ObjectScript Package Manager) パッケージをビルドして公開し、それを使用してデプロイできるようにすると2ポイント獲得できます。

以下のコマンド実行例は、 IRIS に ZPM クライアントをインストールしパッケージをインストールしている例です。

zpm "install your-multi-model-solution"

詳しくは、ZPM client や ドキュメント をご参照ください。

Unit Testing - 2 points

0
0 104
記事 Mihoko Iijima · 3月 26, 2021 2m read

これは InterSystems FAQ サイトの記事です。

Linux で シェルスクリプト(shell script) からルーチンやメソッドを実行し戻り値を取得するには、iris コマンドを使用します。

詳細はドキュメント「インスタンスの接続について」 をご参照ください。

コマンド記述例は以下の通りです。

iris session インスタンス名 -U ネームスペース名 "実行ルーチン・メソッド"

 

シェルスクリプトへの戻り値の指定は、ルーチンやメソッド終了時に指定する QUIT や RETURN コマンドに引数を指定する方法ではなく、プロセス処理終了時に %SYSTEM.Process クラスTerminate() メソッドを使用して 特殊変数 $? に値を返す方法を利用します。

値は、0~255 を指定できます。 ルーチンでの利用例は以下の通りです。

// ルーチン名をTestとします
start1() public {
 hang 5  // 5秒待つ
 //第2引数に指定した数値がシェルスクリプトに戻ります
 set st=$system.Process.Terminate($JOB,11)
}

 

実行例は以下の通りです。

# iris session iris -U USER "start1^Test()"
# echo $?
11
0
0 1493
記事 Mihoko Iijima · 3月 26, 2021 1m read

これは InterSystems FAQ サイトの記事です。

管理ポータルを使用して確認する場合は、以下の手順で参照できます。

管理ポータル > [システムエクスプローラ] > [グローバル] の画面で、ネームスペースではなく データベース を指定し、IRISTEMP / CACHETEMP データベースを選択すると参照できます。

 

ターミナル上で確認する場合は、znspace(省略形:zn)コマンドのパラメータとしてネームスペース名ではなく、データベースディレクトリ名を指定することで該当データベースのみに存在するグローバルを参照できます。

IRISTEMP データベース上のグローバルを参照する場合、以下例のように移動します。

USER>zn "^^../IRISTEMP"
..iris\mgr\iristemp\>
0
0 293
記事 Megumi Kakechi · 3月 25, 2021 3m read

これは InterSystems FAQ サイトの記事です。


^%GSIZE ユーティリティでは、グローバルのサイズを算出することができます。

このユーティリティで出力される各項目の意味について説明します。

例えば、USERネームスペースのグローバルについて do ^%GSIZE を実行し、以下のように出力結果を得られたとします。

0
0 567
記事 Toshihiko Minamoto · 3月 25, 2021 6m read

HealthShare HealthConnect と Information Exchange のバージョン 15.03 では、C-CDA 2.1 から SDA へのインポートトランスフォーメーションをサポートしています。 こういったプログラムのビルドは、インストレーションパッケージの  csp/xslt/SDA3 ディレクトリにあります。 インポートトランスフォーメーションの概要は、Overview of Health Connect の「CDA Documents and XSL Transforms in HealthShare」をご覧ください。

C-CDA 2.1 サポートに関連するインポート機能の強化の 1 つとして、 C-CDA ファイルをインポートする前に前処理を実行できる機能が追加されました

前処理サポートの導入により、トランスフォーメーションは大幅に簡素化され、その合計処理時間も削減されます。 考えられるユースケースは以下の 2 つです。

  • 要素がない、またはその形式が正しくない
  • 日付スタンプの変換
0
0 198
記事 Megumi Kakechi · 3月 25, 2021 2m read

これは InterSystems FAQ サイト の記事です。
 

以下のサンプルでは、画像ファイルをクラスプロパティにBase64文字列にエンコードして保存し、再びそれをBase64でデコードし、別のファイルに復元しています。


【使用クラス】

Class User.test Extends %Persistent
{
Property pics As %GlobalBinaryStream;
}


【取込み時】

  set x=##class(User.test).%New() // ここに保存

  // 画像準備
  set file=##class(%File).%New("c:\temp\Mii.png")
  do file.Open("RUK\BIN\")
  for {
       if file.AtEnd=1 quit
       // 画像を1024 byteずつ Base64形式に変換(エンコード)
       set cnt=file.Read(1024)
       set b64=$system.Encryption.Base64Encode(cnt) // b64: 1402byte
       do x.pics.Write(b64)
  }
  do x.%Save()
  do file.Close()
0
1 1370
記事 Makiko Kokubun · 3月 23, 2021 2m read

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。

この動画では、Caché/EnsembleからInterSystems IRISへの移行プロセスについてご説明しています。

Caché/Ensembleから InterSystems IRIS への移行を考えられている方は、まずこちらをご覧ください。
「移行する際の注意点」、「移行の方法」、「必読ドキュメント」、「キットや評価ライセンスの入手方法」など、IRIS移行の際に必要となる情報をまとめてご案内しています。

もくじ
 0:50~ InterSystemsIRIS の簡単な紹介
 2:05~ サポートプラットフォームについて
 2:55~ 移行方法について(インプレース変換のご紹介)
     ⇒インプレース変換:Caché/Ensembleから直接アップグレードが可能です(2016.2~)
 5:35~ 各種ドキュメントのご紹介
 7:10~ キットや評価ライセンスの入手方法
10:50~ 新しいリリースサイクル(EM/CDリリース)
12:25~ InterSystems IRIS 導入ガイドについて
     ⇒レガシー機能の取り扱いや注意点など、内容を簡単にご紹介
15:40~ インプレース変換の手順とデモ(デモは19:15~)

0
0 293
記事 Toshihiko Minamoto · 3月 22, 2021 5m read

Caché 2013.1 より、InterSystems は特殊な値を持つフィールドが使われるクエリプランのセレクションを改善する目的で Outlier Selectivity (外れ値の選択性) を導入しました。

この記事では、「Project」テーブルを例に使い、Outlier Selectivity の概要やそれが SQL のパフォーマンスを向上させる仕組み、またクエリを書く際の注意点などについて解説したいと思います。

Selectivity (選択性)

まずは、Selectivity についてさっと説明します。 Selectivity とは、テーブル内の 1 つの列の中にある値に関するメタ情報のことです。 データが典型的なかたちで分布されていると想定した場合、「このテーブル内のこの列に特定の値を持つすべての行を要求するとしたら、通常取得できるのはテーブル内のどの程度の割合であろうか?」という疑問の答えとなる情報です。

0
0 186
記事 Mihoko Iijima · 3月 19, 2021 2m read

これは InterSystems FAQ サイトの記事です。

各タイムアウト値の意味は以下の通りです。

(1) [サーバ応答タイムアウト]

この設定時間内に、IRIS/Caché での処理(ルーチンやクエリの実行)が終わらない場合は、ブラウザ側にエラーを返します。

例) この値が60秒の時に、ルーチン/メソッド/クエリ実行に 90秒 かかる場合にはエラーになります。

(2) [キューイングされたリクエストのタイムアウト]

CSP/REST で設定する IRIS/Caché サーバごとに、CSP/REST を同時実行できるプロセス数を制限できます。

たとえば、サーバ接続最大数=3の場合、表示に数十秒かかるページを複数同時に要求した場合、4つ目以降のリクエストは、Web/CSP ゲートウェイ上で「キュー」に入り待ち状態になります。

このキューで待つ最大時間が (2) のタイムアウトになります。

(3) [非活動タイムアウト]

CSP/REST では、IRIS/Caché サーバ上に待ち受けプロセスが複数でき、「サーバ接続最大数」まで待ち受けプロセスが出来る可能性があります。

各プロセスが、次の要求が来るまで待機する時間がこのタイムアウト値になります。

タイムアウト後、プロセスは自動的に消滅します(これらのプロセスはライセンスを消費しません)。

詳細は下記ドキュメントページをご参照ください。

0
0 889
記事 Mihoko Iijima · 3月 19, 2021 3m read

これは InterSystems FAQ サイトの記事です。

複数の SQL 文を実行する GUI はありませんが、複数の SQL 文を含むファイルを作成しファイルをインポートしながら SQL を実行する方法で対応できます。

ご利用バージョンによって使用するユーティリティメソッドが異なります。

2020.3以降をご利用の場合は %SYSTEM.SQL.Schema クラスの ImportDDL() メソッドを使用します。

2020.2以前をご利用の場合は %SYSTEM.SQL クラスの DDLImport() メソッドを使用します。 

1)バージョン 2020.3 以降での方法:%SYSTEM.SQL.Schema クラスの ImportDDL() メソッドの利用

インポート用ファイルに記述するSQL文が複数行ある場合は、記述する SQL の後ろに GO 文を記述する必要があります。

インポートファイル例は以下の通りです。

INSERT INTO Test2.Person (Name) values('test1')
go
INSERT INTO Test2.Person (Name) values('test2')
go
INSERT INTO Test2.Person (Name) values('test3')
go
0
0 10845
お知らせ Toshihiko Minamoto · 3月 18, 2021

開発者の皆さん こんにちは!

この度、開発者コミュニティでの投稿や翻訳のポイントが2倍に引き揚げられました! 2021年3月18日以降、記事や質問の投稿で得られるポイントは以下の通りとなります。

✅ 200 ポイント(英語)
✅ 400 ポイント (スペイン語、ポルトガル語、中国語、日本語)


✅ 100 ポイント(翻訳記事の投稿)

また、一定数の記事やコメントを投稿すると、まとまったポイントがもらえることをご存知でしょうか?こちらをチェックしてください。

0
0 137
記事 Toshihiko Minamoto · 3月 17, 2021 31m read

この記事では、従来のIRISミラーリング構成の代わりに、Kubernetesの Deploymentと分散永続ストレージを使って高可用性IRIS構成を構築します。 このデプロイでは、ノード、ストレージ、アベイラビリティーゾーンといったインフラストラクチャ関連の障害に耐えることが可能です。 以下に説明する方法を使用することで、RTOがわずかに延長されますが、デプロイの複雑さが大幅に軽減されます。

0
0 1255
お知らせ Mihoko Iijima · 3月 16, 2021

開発者の皆さん、こんにちは!

世界中の開発者からの熱いご要望により、新たなコンテストの開催が決定しました!

🏆 InterSystems IRIS プログラミングコンテスト: 開発者ツール 🏆

応募期間は 2021年3月29日~4月18日 です!

💰 賞金総額: $8,500 💰

(投票期間は 2021年4月19日~25日、勝者発表は 4月26日を予定しています)

InterSystems IRIS を使用して、開発の迅速化、より質の高いコードの提供、テスト、デプロイ、サポート、またはソリューションの監視を支援するアプリケーションやツールを開発し、ご応募ください!

優勝特典

1、審査員から多く票を集めたアプリケーションには、以下の賞金が贈られます。

🥇 1位 - $4,000 

🥈 2位 - $2,000 

🥉 3位 - $1,000

2、開発者コミュニティで多く票を集めたソリューションには、以下の賞金が贈られます。

🥇 1位 - $750 

🥈 2位 - $500 

🥉 3位 - $250

複数の参加者が同数の票を獲得した場合、全参加者が勝者となり賞金は勝者間で分配されます。

参加資格

どなたでもご参加いただけます!(InterSystems 開発者コミュニティのアカウントを作成するだけでご応募いただけます)

0
0 210
記事 Toshihiko Minamoto · 3月 15, 2021 16m read

InterSystems IRIS では、情報を格納する「グローバル」というユニークなデータ構造をサポートしています。 基本的に、グローバルとは、マルチレベルのインデックスを持つ永続配列であり、トランザクションの実行やツリー構造のスピーディなトラバーサルといった機能が備えられているほか、ObjectScript として知られるプログラミング言語にも対応しています。

ここから先、少なくともコードサンプルについては、グローバルの基礎を理解されているという想定のもとに話しを進めていきます。

グローバルはデータを保存するための魔法の剣です パート1
グローバルはデータを保存するための魔法の剣ですパート2 - ツリー
グローバルはデータを保存するための魔法の剣です パート3 - 疎な配列

グローバルは、普通のテーブルとは全く異なる構造でデータを格納し、OSI モデルの下位層で動作します。 それでは、グローバルを使ったトランザクションとはいかなるもので、どのような特性が見られるのでしょうか。

リレーショナルデータベースの理論では、ACID テスト (Wikipedia で ACID を参照する) に合格するトランザクションこそが、適切に実装されたトランザクションとされています。

0
0 1005
質問 Mitsuru Amano · 3月 13, 2021

こんにちは、皆さん

私は、%CSP.WebSocketの非同期動作(SharedConnection=1)で、ソケットのクローズを検知する手段が見つからなくて困っています。

WebアプリケーションとIRIS間でソケットの接続、データの送受信は出来ましたが、Webアプリケーション側でソケットクローズしたとき、IRIS側でそれを検知する方法が分かりませんでした。

どなたか、IRIS(サーバ側)でソケットのクローズを検知する方法をご存じでしたら教えて下さい。

3
0 237
お知らせ Toshihiko Minamoto · 3月 13, 2021

開発者の皆さん、こんにちは。
 

最近、インターシステムズ開発者コミュニティにより貢献したいという要望が多く寄せられます。

やり方は簡単です。

1. 質問に答える

開発者コミュニティには多くの 回答のない質問や ベストアンサーのない質問 があります。ぜひ、あなたの知識をシェアして他のメンバーを助けてあげてください。

2. 記事の投稿に貢献する

インターシステムズの技術を使ったあなたの経験をぜひ記事に書いてください。ソリューションや開発時のノウハウ、デバッグ時のTipsやトリック、システム構築、その他、健全な開発をするためのその他のアプローチなど、何でも構いません。

こちらには、コミュニティにとって有益となる記事の例がたくさんあり、各国の言語に翻訳されています。

3. Open Exchangeのアプリケーションに貢献する

あなたのライブラリやソリューション、ツールをGithubやGitlabのリポジトリを使って Open Exchange でシェアしてください。

0
0 229
記事 Megumi Kakechi · 3月 10, 2021 3m read

これは InterSystems FAQ サイトの記事です。

REST アプリケーションはステートレスであることが想定されています。

しかし、複数の REST 呼び出し間でデータを保持したい場合などの理由で、Webセッションを使用したい場合は、UseSession パラメータを使用することができます。

以下のように、Web アプリケーションのディスパッチクラスとして定義された %CSP.REST のサブクラスでUseSession パラメータを指定することで、CSPと同じようにWebセッションを使用することが可能となります。

Class REST.MyServices Extends %CSP.REST
{
 Parameter UseSession As Integer = 1;


詳細は以下のドキュメントをご覧ください。

REST での Web セッションの使用


以下は、UseSession パラメータを使用した簡単なサンプルになります。最初に、2つのクラスを作成してください。


*  REST.SessionTest.cls

0
0 1173
記事 Toshihiko Minamoto · 3月 10, 2021 9m read

デベロッパーの皆さん、こんにちは!

最近、当社は InterSystems Package Manager (ZPM) をリリースしました。 ZPM を開発した理由の 1 つは、ソリューションをパッケージ化して ZPM レジストリに提出することにより、そのデプロイを「install xxx package」のようなコマンドを実行するだけの単純な作業にするためです。

これを行うには、InterSystems IRIS パッケージの中身を説明する module.xml ファイルをリポジトリに導入する必要があります。

この記事では、module.xml ファイルの異なる構成要素を説明し、独自のファイルを作成する方法をご紹介します。

まずは、samples-objectscript パッケージから始めます。以下のコマンドを実行すれば、IRIS に ObjectScript のサンプルアプリケーションがインストールされます。

zpm: USER>install samples-objectscript

おそらく、これほどシンプルなパッケージはないと思います。以下は、パッケージの中身を説明する module.xml です。


<Export generator="Cache" version="25">
  <Document name="samples-objectscript.ZPM">
    <Module>
      <Name>samples-objectscript</Name>
      <Version>1.0.0</Version>
      <Packaging>module</Packaging>
      <SourcesRoot>src</SourcesRoot>
      <Resource Name="ObjectScript.PKG"/>
    </Module>
  </Document>
</Export>
0
0 261
記事 Mihoko Iijima · 3月 9, 2021 1m read

これは InterSystems FAQ サイトの記事です。

ダイナミックオブジェクトから JSON 文字列を生成するときに使用する %ToJSON() の引数にストリームオブジェクトを指定することでエラーを回避できます。

コード例は以下の通りです。

USER>set temp=##class(%Stream.TmpCharacter).%New()

USER>set jsonobj={}

USER>set jsonobj.pro1=["a","b","c","d"]

USER>set jsonobj.pro2=["あ","い","う","え"]

USER>do jsonobj.%ToJSON(temp)

USER>write temp.Size
51
USER>write temp.Read()
{"pro1":["a","b","c","d"],"pro2":["あ","い","う","え"]}

 

詳細はドキュメントもご参照下さい。

【IRIS】大きいダイナミック・エンティティからストリームへのシリアル化

大きいダイナミック・エンティティからストリームへのシリアル化

3
0 569
お知らせ Mihoko Iijima · 3月 8, 2021

開発者の皆さんこんにちは!

第10回 InterSystems グランプリ・プログラミングコンテスト への応募、投票が全て終了しました。コンテストへのご参加、またご興味をお持ちいただきありがとうございました。

今回のお知らせでは、見事受賞されたアプリケーションと開発者の方々を発表します!

🏆 Experts Nomination  - 特別に選ばれた審査員から最も多くの票を獲得したアプリケーションに贈られます。 

🥇 1位 - $6,000 は  vscode-intersystems-iris を開発された @Dmitriy Maslennikov さんに贈られました! 

🥈 2位 - $3,000 は iris-rad-studio を開発された @Henrique Dias Dias さんに贈られました!

🥉 3位 - $2,000 は HealthInfoQueryLayer を開発された @Botai Zhang さんに贈られました!

🏆 Community Nomination - 最も多くの票を獲得したアプリケーションに贈られます。

🥇 1位 - $3,000 は HealthInfoQueryLayer を開発された @Botai Zhang さんに贈られました!

1
0 103