みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
質問させて下さい
計算フィールドに
{
"商品" :
[
{
"id" : "id-000024",
"価格" : 1200,
"個数" : 1,
"合計" : 1200,
"商品ID" : "O000008",
"商品名" : "バスタオル(ダークブラウン)",
"小計" : 1200,
"消費税額" : 0,
"税率" : 0.1
}
]
}
のような$jsonがあるのですが、
JSONGetElement( $json ;"商品.id")
とした場合何も表示されません。。。
JSONGetElement( $json ;"商品[0]id")
JSONGetElement( $json ;"商品[0].id")
Arrayエラーで返ってきます。
何卒よろしくお願いします。
fm18 win
ハゲ
スクリプトの中で表示させていますか。
ローカル変数に収納されているので、その有効範囲で検証されていますか。
Offline
Shinさん
ご返信ありがとうございます。
事前にフィールドにjson形式のデータが入っているものを。$jsonとして呼び込んでいるので、
JSONGetelementでiidを別のフィールドに入れようとしています。
運用はFileMakerServer18です。
Aファイルにあるレコードだと表示ましす。
Bファイルというフィルに外部認証としてAファイルを表示させようとしています。
何卒よろしくお願いします。
ハゲ
フィールド自体にそのJSONの値を持たせているのでしたら、
JSONGetElement( 対象フィールド ;"商品[0].id")
で取れます。
変数$jsonにJSONデータを格納している場合は
JSONGetElement( $json ;"商品[0].id")
で取得できるはずです。
"$json"となっている箇所は、JSONデータを変数に格納した場合に、その変数名を指定する箇所です。
Offline
もし変数$josnにフィールドデータを格納しているのでしたら、
JSONFormatElement($json)
でエラーが返ってこないか確認してみて下さい。
ちゃんとしたJSON形式になっていないとエラーが返ります。
Offline
$json の代わりにソースフィールドにコピペした場合
フィールド設定の計算式
JSONGetElement (json001::ソース;"商品[0]合計")
Shinさん
calafateさん
koko009さん
ご返信ありがとうございます。
JSONFormatElement($json)としても正常に表示されます。
JSONGetElement( $json ;"商品.id")とすると
Aファイル上では出力しますが、
AファイルをインクルードしたBファイル上では、
JSONGetElement( $json ;"商品.id")
JSONGetElement( $json ;"商品[0].id")
としても、
? in Json::Value::operator[](ArrayIndex)const: requires arrayValue
困った困った。。。
ハゲ
Bファイル上でデータビューアを開いて$jsonの中身を確認したらどうでしょうか。そこからJSON構造が辿れると思います。
Offline
Shinさん
お世話になります。
インクルードというかAファイルにBファイルを外部データソースとして指定している状態です。
$count=0
JSONGetElement ( $json ; "商品[" & $count & "].商品名" )
$count=$count + 1
{
"商品" :
[
{
"id" : "id-000024",
"価格" : 1200,
"個数" : 1,
"合計" : 1200,
"商品ID" : "O000008",
"商品名" : "バスタオル(ダークブラウン)",
"小計" : 1200,
"消費税額" : 0,
"税率" : 0.1
},
{
"id" : "id-000025",
"価格" : 200,
"個数" : 2,
"合計" : 420,
"商品ID" : "O000108",
"商品名" : "バスタオル(ホワイト)",
"小計" : 400,
"消費税額" : 40,
"税率" : 0.1
},
]
}
こんな感じです。呼び方に問題があるのでしょうか?
ハゲ
JSONGetElement ( $json ; "商品.商品名" )
とすれば、
Aファイルでは正確に見えます。
しかし、Aファイルを含外部接続したBファイルから同じようにしても、真っ白な画面がでています。
しかしエラーになる事はなく、ただ情報が見えない状態のようです。
まったく意味不明です。。。
ハゲ
続きです
jsonデータは複数なく、1つのみでした。
{
"商品" :
[
{
"id" : "id-000024",
"価格" : 1200,
"個数" : 1,
"合計" : 1200,
"商品ID" : "O000008",
"商品名" : "バスタオル(ダークブラウン)",
"小計" : 1200,
"消費税額" : 0,
"税率" : 0.1
}
]
}
ハゲ
と云う単純な落ちでない?
Offline
Hiroさん
Shinさん
本当にありがとうございます。
知らなかったです。
ファイル間での変数の受け渡しに制約があったとは...
まるまる4日間が...
ファイルが大きくならないように、なるべくファイルを分けていたのですが、
そのような案件の場合は特に注意ですね。
変数を一から勉強してみます(m_m)
ハゲ
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 536.89 KiB (Peak: 557.8 KiB) ]