FileMaker로 JSON을 만들어 보자.
소개
FileMaker에 들어있는 데이터를 다른 시스템에서 사용할 때,
백엔드의 시스템에는 CSV나 ODBC를 사용해 제휴해,
프런트 엔드에는 JSON을 사용하여 JavaScript로 좋은 느낌으로 요리를 받고 있습니다.
그래서 지금까지는 문자열로 만들었던 JSON 파일을
FileMaker16에서 추가 된 JSON 함수를 사용하여,
주목받기 쉬운 "사용"측이 아니라 "만들어"같다고 생각합니다.
만들고 싶은 JSON 모양
이번에는 연습을 하면 FileMaker의 도움말에서
JSON 데이터의 예 을 만들고 싶습니다.
물론 환경은 FileMaker 16 (또는 Advanced)
만들어 보았다.
어쨌든 테이블을 만듭니다.
JSON 데이터의 예로 말하면, 제품 아래의 내용이군요.
이런 느낌입니다.
각 필드에 적절한 값을 넣고 여러 레코드를 만듭니다.
그래서 Loop에서 돌리면서 데이터를 만들어 가는데,
처음 JSONSetElement
사용할 때 도움말의 내용을 알기 어려웠기 때문에. . .
알기 쉬운(?)처럼 꽤 정중하게 써 보았습니다.
어떻습니까?
실행하면 다음과 같은 결과가 될 것입니다.
JSONSetElement
에서 추가하면 정렬이 걸립니까?
전혀 예와 같다고는 되지 않습니다만, 내용적으로는 같은 JSON을 만들 수 있었다고 생각합니다.
실제로는 여기까지 정중하게 하지 않아도,
예를 들면 1~6행째는 없어도 같은 결과가 나옵니다.
하지만 무슨 일을 할까? 라는 것이
이미지 해 주시면 고맙습니다.
도움말 해설?
JSON 데이터 예제에 주석을 추가해 보았습니다.
# 「$NewProduct」という変数に、「製品」配列に追加する子要素を作成する
# Substituteみたいに、[]で複数まとめてセットできるみたいです。
# 最初の「"{}"」はよく分からない。。。「""」でも同じでした。
# -----ここから-----
変数を設定 [ $NewProduct ; 値 :
JSONSetElement ( "{}" ;
[ "ID" ; "FB4" ; JSONString ] ;
[ "名前" ; "バニラケーキ" ; JSONString ] ;
[ "価格" ; 17.5 ; JSONNumber ] ;
[ "在庫" ; 12 ; JSONNumber ] ;
[ "カテゴリ" ; "ケーキ" ; JSONString ] ;
[ "特売" ; true ; JSONBoolean ]
) ]
# -----ここまで-----
# ベーカリー.製品が配列なので、「JSONListKeys」の結果を「ValueCount」することで
# 既に何個登録されているか?を取得しています。
# -----ここから-----
変数を設定 [ $NextIndex ; 値 :
ValueCount (
JSONListKeys ( $$JSON ; "ベーカリー.製品" )
) ]
# -----ここまで-----
# 配列は0始まりなので、個数-1が配列の最大になる。
# ここでは個数($NextIndex)を入れることで、最大+1の位置に、
# 作成した$NewProductの内容を追記しようとしています。
# -----ここから-----
変数を設定 [ $$JSON ; 値 :
JSONSetElement (
$$JSON ; "ベーカリー.製品[" & $NextIndex & "]" ; $NewProduct ;
JSONObject
) ]
# -----ここまで-----
불필요하게 엉망으로 보기 어려워져 버렸습니다만 ^^;
방금 전의 내용에 비하면, 매우 스마트하게 하고 있군요!
요약
안전하게 생각하는 형태의 JSON을 만들 수있었습니다.
처음에, 도움말을 이해할 때까지 여러가지 조사했습니다만,
너무 JSONSetElement
하고 있는 사람이 없었던 것은, 수요가 적은 것일까요?
그렇다고해도, FileMaker의 도움말의 예를 알기 어렵다고 생각하는 것은 나만입니까?
다음 번에는 작성한 JSON을 FTP에 올려보고 싶습니다!
Reference
이 문제에 관하여(FileMaker로 JSON을 만들어 보자.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/manabuuuuun/items/517c973281805768ddf3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이번에는 연습을 하면 FileMaker의 도움말에서
JSON 데이터의 예 을 만들고 싶습니다.
물론 환경은 FileMaker 16 (또는 Advanced)
만들어 보았다.
어쨌든 테이블을 만듭니다.
JSON 데이터의 예로 말하면, 제품 아래의 내용이군요.
이런 느낌입니다.
각 필드에 적절한 값을 넣고 여러 레코드를 만듭니다.
그래서 Loop에서 돌리면서 데이터를 만들어 가는데,
처음 JSONSetElement
사용할 때 도움말의 내용을 알기 어려웠기 때문에. . .
알기 쉬운(?)처럼 꽤 정중하게 써 보았습니다.
어떻습니까?
실행하면 다음과 같은 결과가 될 것입니다.
JSONSetElement
에서 추가하면 정렬이 걸립니까?
전혀 예와 같다고는 되지 않습니다만, 내용적으로는 같은 JSON을 만들 수 있었다고 생각합니다.
실제로는 여기까지 정중하게 하지 않아도,
예를 들면 1~6행째는 없어도 같은 결과가 나옵니다.
하지만 무슨 일을 할까? 라는 것이
이미지 해 주시면 고맙습니다.
도움말 해설?
JSON 데이터 예제에 주석을 추가해 보았습니다.
# 「$NewProduct」という変数に、「製品」配列に追加する子要素を作成する
# Substituteみたいに、[]で複数まとめてセットできるみたいです。
# 最初の「"{}"」はよく分からない。。。「""」でも同じでした。
# -----ここから-----
変数を設定 [ $NewProduct ; 値 :
JSONSetElement ( "{}" ;
[ "ID" ; "FB4" ; JSONString ] ;
[ "名前" ; "バニラケーキ" ; JSONString ] ;
[ "価格" ; 17.5 ; JSONNumber ] ;
[ "在庫" ; 12 ; JSONNumber ] ;
[ "カテゴリ" ; "ケーキ" ; JSONString ] ;
[ "特売" ; true ; JSONBoolean ]
) ]
# -----ここまで-----
# ベーカリー.製品が配列なので、「JSONListKeys」の結果を「ValueCount」することで
# 既に何個登録されているか?を取得しています。
# -----ここから-----
変数を設定 [ $NextIndex ; 値 :
ValueCount (
JSONListKeys ( $$JSON ; "ベーカリー.製品" )
) ]
# -----ここまで-----
# 配列は0始まりなので、個数-1が配列の最大になる。
# ここでは個数($NextIndex)を入れることで、最大+1の位置に、
# 作成した$NewProductの内容を追記しようとしています。
# -----ここから-----
変数を設定 [ $$JSON ; 値 :
JSONSetElement (
$$JSON ; "ベーカリー.製品[" & $NextIndex & "]" ; $NewProduct ;
JSONObject
) ]
# -----ここまで-----
불필요하게 엉망으로 보기 어려워져 버렸습니다만 ^^;
방금 전의 내용에 비하면, 매우 스마트하게 하고 있군요!
요약
안전하게 생각하는 형태의 JSON을 만들 수있었습니다.
처음에, 도움말을 이해할 때까지 여러가지 조사했습니다만,
너무 JSONSetElement
하고 있는 사람이 없었던 것은, 수요가 적은 것일까요?
그렇다고해도, FileMaker의 도움말의 예를 알기 어렵다고 생각하는 것은 나만입니까?
다음 번에는 작성한 JSON을 FTP에 올려보고 싶습니다!
Reference
이 문제에 관하여(FileMaker로 JSON을 만들어 보자.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/manabuuuuun/items/517c973281805768ddf3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# 「$NewProduct」という変数に、「製品」配列に追加する子要素を作成する
# Substituteみたいに、[]で複数まとめてセットできるみたいです。
# 最初の「"{}"」はよく分からない。。。「""」でも同じでした。
# -----ここから-----
変数を設定 [ $NewProduct ; 値 :
JSONSetElement ( "{}" ;
[ "ID" ; "FB4" ; JSONString ] ;
[ "名前" ; "バニラケーキ" ; JSONString ] ;
[ "価格" ; 17.5 ; JSONNumber ] ;
[ "在庫" ; 12 ; JSONNumber ] ;
[ "カテゴリ" ; "ケーキ" ; JSONString ] ;
[ "特売" ; true ; JSONBoolean ]
) ]
# -----ここまで-----
# ベーカリー.製品が配列なので、「JSONListKeys」の結果を「ValueCount」することで
# 既に何個登録されているか?を取得しています。
# -----ここから-----
変数を設定 [ $NextIndex ; 値 :
ValueCount (
JSONListKeys ( $$JSON ; "ベーカリー.製品" )
) ]
# -----ここまで-----
# 配列は0始まりなので、個数-1が配列の最大になる。
# ここでは個数($NextIndex)を入れることで、最大+1の位置に、
# 作成した$NewProductの内容を追記しようとしています。
# -----ここから-----
変数を設定 [ $$JSON ; 値 :
JSONSetElement (
$$JSON ; "ベーカリー.製品[" & $NextIndex & "]" ; $NewProduct ;
JSONObject
) ]
# -----ここまで-----
안전하게 생각하는 형태의 JSON을 만들 수있었습니다.
처음에, 도움말을 이해할 때까지 여러가지 조사했습니다만,
너무
JSONSetElement
하고 있는 사람이 없었던 것은, 수요가 적은 것일까요?그렇다고해도, FileMaker의 도움말의 예를 알기 어렵다고 생각하는 것은 나만입니까?
다음 번에는 작성한 JSON을 FTP에 올려보고 싶습니다!
Reference
이 문제에 관하여(FileMaker로 JSON을 만들어 보자.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/manabuuuuun/items/517c973281805768ddf3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)