JSL에서 JSON으로최신 JMP 14 JSON 기능: JSON() 구문 분석; JSON을 데이터 테이블로(); 및 JSON To List(); 이 과정을 되돌릴 수 있다면 정말 좋을 것 같아요.JSL 연관 배열을 JSON 문자열로 바꾸고 싶습니다.데이터 테이블을 JSON 문자열로 변환하는 방법이 있다는 것을 알고 있지만 이러한 기능 중 가장 중요한 것은 AA를 JSON 문자열로 변환하는 것입니다.
자동화 및 스크립팅답변: JSL을 JSON으로연관 배열에 대해 작동하는 asJSONexpr()의 위 예가 해당 함수에 대한 스크립팅 인덱스의 예라면 좋을 것입니다. SaveAs에 대한 설명의 "지원되는 형식 포함" 중에 .json에 대한 Ditto가 나열되어 있습니다.
Re: 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 문자열 출력을 생성합니다. 파일에서 저장하고 다시 로드할 필요 없이 테이블에서 직접 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}
문안 인사,
저스틴
답변: JSL을 JSON으로...
답변: JSL을 JSON으로고마워요, msharp. 하지만 당신이 설명하는 것은 JSON에서 데이터 테이블로 이미 존재하는 것입니다. 우리 둘 다 요청한 것은 그 반대입니다. 즉, 데이터 테이블에서 JSON으로입니다. 다행히도 그것은 이미 존재하는데, 나는 방금 그들이 그것을 숨겨 놓은 곳을 우연히 발견했습니다. GUI에서는 파일/내보내기/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 = JSON으로( list|array ); 고려해 주셔서 감사합니다!