JSLからJSONへ最新の JMP 14 JSON 機能: Parse JSON(); JSON からデータ テーブル();そして JSON To List();このプロセスを逆転できれば本当に素晴らしいでしょう。JSL連想配列をJSON文字列に変換したいと考えています。データ テーブルを JSON 文字列に変換する回避策があることはわかっていますが、これらの機能の中で最も重要なのは、AA を JSON 文字列に変換することでしょう。
自動化とスクリプト作成Re: JSL から JSON へ連想配列で動作する上記の asJSONexpr() の例が、その関数のスクリプト インデックスの例であれば素晴らしいでしょう。 .json も、SaveAs の説明の「サポートされている形式に含まれるもの」にリストされているのと同様です。
Re: JSL から JSON - ステータスが「承認済み」に変更されましたこんにちは@msharp 、 提案ありがとう! お客様のご要望を承知し、検討させていただきます。
Re: JSL から JSON へこんにちは@erin_vang , 私も同様に、テーブルを JSON 形式に変換できないという問題を抱えていました。 結局それを行うスクリプトを作成しました。 これは最もエレガントではありませんが、仕事を非常に迅速に実行できることは間違いありません。
//initialize with an empty list, and create list with i rows
dt=Current Data Table();
aa_list=list();
for(i=1,i<=nrows(dt),i+=1,
aa_list[i]=associative array();
);
//Each dictionary/AA is a row, insert each row's column value to the dictionary/AA
for(j=1,j<=N items(aa_list),j+=1,
for(m=1,m<=ncols(dt),m+=1,
aa_list[j]<<INSERT></INSERT>
正式なものが開発されるまで、それが役立つことを願っています。
Re: JSL から JSON へ@erin_vang @msharp 、
お二人ともお分かりかと思いますが、 dt << save [as] ("something.json") を実行すると、必要な json 文字列出力が作成されます。 ファイルに保存して再ロードすることなく、テーブルから JSON 文字列を直接取得するための JSL メッセージのリクエストを開発者に渡しました。
ただし、JMP にすでに存在する部分は、JSL リスト/連想配列から JSON への変換です。 これは、As JSON Expr() 関数を使用して実行できます。
aa = ["age" => 17, "height" => 68, "name" => "KIRK", "sex" => "M", "weight" => 134];
json = As JSON Expr( aa );
Write( "\!N" || json );
ログ:
{"age":17,"height":68,"name":"KIRK","sex":"M","weight":134}
よろしく、
ジャスティン
Re: JSL から JSON へ...
Re: JSL から JSON へありがとう、msharp、しかしあなたが説明しているのはすでにそこにあるものです:JSONからデータテーブルへ。 私たちが要求したのはその逆で、データ テーブルから JSON への変換です。 幸いなことに、それはすでに存在しており、私はちょうど彼らがそれを隠した場所に遭遇したところです。 GUI では、ファイル/エクスポート/JSON データにあり、JSL に相当するものは dt << save as(“filename.json”) です。Re: JSL から JSON へ先ほど述べたように、データ テーブルには簡単な回避策がありますが、あなたはそれを知っているかはわかりません。まだ複雑なので、シンプルな 1 行だけで済むはずです。ただし、リストと配列の場合は回避策がありません。何らかの解決策をスクリプト化する必要があります。JMP にこれを直接含めることを願っています。
Names Default To Here( 1 );
tempdir = "C:\TEMP\bigclass.json";
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Save( tempdir );
json = load text file( tempdir );
Delete File( tempdir );
dt2 = JSON To Data Table( json );
Re: JSL から JSON へ強く同意します! 私もほぼ同じリクエストをテクニカル サポートに送信しました。こんにちは。 既存の JSL 関数に似た機能をリクエストしたいと思います。 dt= JSON To Data Table();手動でスクリプトを作成するのは複雑ではありませんが、これらのいずれかで逆の処理を実行できれば、より良い (そしてより整然とした) dt << get JSON(); となります。 json = データ テーブルからの JSON( dt );経験豊富な JSL ユーザーにとっては最初の形式が最も自然だと思いますが、2 番目の形式のほうが JSL 用語辞典でもう少しわかりやすく表れます。 もちろん、どちらの方法でも機能します。 同様に、これを手動で行うのはそれほど難しいことではありませんが、これを逆にすることは便利です。 array|list = Parse JSON( json );例: json = As JSON ( list|array );ご検討いただきありがとうございます。