JSL 到 JSON具有最新的 JMP 14 JSON 功能:Parse JSON(); JSON 轉資料表();和 JSON To List();如果我們能夠扭轉這個過程,那就太好了。我想將 JSL 關聯數組轉換為 JSON 字串。我意識到有一種解決方法可以將資料表轉換為 JSON 字串,但這些功能中最重要的是將 AA 轉換為 JSON 字串。
自動化和腳本編寫回覆:JSL 到 JSON如果上面作用於關聯數組的 asJSONexpr() 範例是該函數的腳本索引中的範例,那就太好了。 同樣,.json 被列在 SaveAs 描述中的「支援的格式包括」。
回覆:JSL 到 JSON - 狀態更改為:已確認你好@msharp , 謝謝你的建議! 我們已收到您的請求並將予以考慮。
回覆: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>
希望在正式開發前有所幫助!
回覆:JSL 到 JSON@erin_vang @msharp ,
我想你們都已經明白了, dt << save [as] ("something.json") 將創建一個你們想要的 json 字串輸出。 我已將 JSL 訊息的請求傳遞給我們的開發人員,以直接從表中檢索 JSON 字串,而無需從文件保存和重新加載。
然而,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}
問候,
賈斯汀
回覆:JSL 到 JSON…
回覆:JSL 到 JSON謝謝,msharp,但你所描述的是已經存在的內容:從 JSON 到資料表。 我們都要求的是相反的:從資料表到 JSON。 令人高興的是,它確實已經存在,而且我只是碰到了他們隱藏它的地方。 在 GUI 中,它位於 File/Export/JSON 資料中,JSL 等效項是 dt << save as(“filename.json”)。回覆:JSL 到 JSON正如我所提到的,對於數據表,有一個簡單的解決方法,我不確定您是否知道。它仍然很複雜,應該是一個簡單的襯裡。然而,對於列表和數組,沒有解決辦法。您必須編寫一些解決方案的腳本。我確實希望 JMP 直接將其包含在 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 );
回覆:JSL 到 JSON強烈同意! 我剛剛向技術支援發送了大致相同的請求:嗨。 我想請求一個類似現有 JSL 函數的功能:dt= JSON To Data Table();雖然手動編寫腳本並不複雜,但如果我們也可以使用其中一個來執行相反的操作,那就更好了(也更整潔): dt << get JSON(); json = 來自資料表的 JSON( dt );我認為第一種形式對於有經驗的 JSL 使用者來說是最自然的,但第二種形式在 JSL 字典中表現得更好一些。 當然,無論哪種方式都會起作用。 同樣,雖然手動執行此操作不太困難,但最好有一個逆操作: array|list = Parse JSON( json );如: json = As JSON ( list|array );感謝您考慮這些!