みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつもお世話になっております。
過去にこちらで下記の取得データから、必要なデータを抽出する方法を教えていただきました。
今回ですが、取得データからリスト関数のような下記データは抽出できないでしょうか。
取得データの全dealerProductCodeのみを抽出「A_1、A_2、B_1・・・D_1」
取得データ
{"body":
{"productSets":
{"productSet":
[
{"dealerProductCode":"A_1","stock":5},
{"dealerProductCode":"A_2","stock":5},
{"dealerProductCode":"B_1","stock":0},
{"dealerProductCode":"B_2","stock":2},
{"dealerProductCode":"B_3","stock":0},
{"dealerProductCode":"C_1","stock":4},
{"dealerProductCode":"C_2","stock":3},
{"dealerProductCode":"D_1","stock":2}
]
}
}
}
使用環境:Windows 10
Filemaker pro 17
他のjson関数等使用して試したのですが、解決できませんでした。
良い方法がありましたら、教えていただけますでしょうか。
よろしくお願い致します。
Offline
json配列内の串刺し検索する関数は無いので、FMのループ式で求める式例、
(※結果は、全dealerProductCode:値の一覧リストを返す)
Let([
$jsn=JSONListValues( JSONデータ ; "body.productSets.productSet");
$i=0;
$res="";
$FNC=
"Case($i=ValueCount($jsn); $res;
Let([
$i=$i+1;
#ary=GetValue($jsn; $i);
#add=JSONGetElement(#ary; ""dealerProductCode"");
$res=List($res; #add)
]; Evaluate($FNC))
)"
];
Evaluate($FNC)
)
Last edited by Hiro (2019-07-09 18:17:10)
Offline
Hiroさん、ありがとうございます。
できました。
Offline
Pages: 1
[ Generated in 0.007 seconds, 11 queries executed - Memory usage: 504.71 KiB (Peak: 509.25 KiB) ]