初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2019-09-07 12:19:30

秩父の禿オヤジ
Guest

jsonデータが見えない

質問させて下さい

計算フィールドに
{
    "商品" :
    [
        {
            "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
ハゲ

#2 2019-09-07 13:22:11

Shin
Member

Re: jsonデータが見えない

スクリプトの中で表示させていますか。
ローカル変数に収納されているので、その有効範囲で検証されていますか。

Offline

#3 2019-09-07 13:49:16

秩父の禿オヤジ
Guest

Re: jsonデータが見えない

Shinさん
ご返信ありがとうございます。

事前にフィールドにjson形式のデータが入っているものを。$jsonとして呼び込んでいるので、
JSONGetelementでiidを別のフィールドに入れようとしています。
運用はFileMakerServer18です。

Aファイルにあるレコードだと表示ましす。
Bファイルというフィルに外部認証としてAファイルを表示させようとしています。

何卒よろしくお願いします。

ハゲ

#4 2019-09-07 13:50:00

calafate
Member

Re: jsonデータが見えない

フィールド自体にそのJSONの値を持たせているのでしたら、

JSONGetElement( 対象フィールド ;"商品[0].id")
で取れます。

変数$jsonにJSONデータを格納している場合は
JSONGetElement( $json ;"商品[0].id")
で取得できるはずです。

"$json"となっている箇所は、JSONデータを変数に格納した場合に、その変数名を指定する箇所です。

Offline

#5 2019-09-07 13:54:54

calafate
Member

Re: jsonデータが見えない

もし変数$josnにフィールドデータを格納しているのでしたら、
JSONFormatElement($json)
でエラーが返ってこないか確認してみて下さい。
ちゃんとしたJSON形式になっていないとエラーが返ります。

Offline

#6 2019-09-07 13:59:55

koko009
Guest

Re: jsonデータが見えない

$json の代わりにソースフィールドにコピペした場合
フィールド設定の計算式
JSONGetElement (json001::ソース;"商品[0]合計")

#7 2019-09-07 14:59:52

秩父の禿オヤジ
Guest

Re: jsonデータが見えない

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

困った困った。。。
ハゲ

#8 2019-09-07 15:28:59

Shin
Member

Re: jsonデータが見えない

> AファイルをインクルードしたBファイル上では、
FIleMaker では、インクルード という概念はありませんが、どういう操作でしょうか。
ローカル変数の扱い方の誤りでは。例えば、ファイルA で変数にテキストを設定して、ファイルB のスクリプトを呼び出し、そのまま JSONGetElement( $json ;"商品.id") を行っている、とか。もしそうならば、変数の使用も参照ください。

Last edited by Shin (2019-09-07 17:06:58)

Offline

#9 2019-09-07 16:39:00

calafate
Member

Re: jsonデータが見えない

Bファイル上でデータビューアを開いて$jsonの中身を確認したらどうでしょうか。そこからJSON構造が辿れると思います。

Offline

#10 2019-09-07 17:01:51

秩父の禿オヤジ
Guest

Re: jsonデータが見えない

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
        },
    ]
}
こんな感じです。呼び方に問題があるのでしょうか?
ハゲ

#11 2019-09-07 19:53:44

秩父の禿オヤジ
Guest

Re: jsonデータが見えない

JSONGetElement ( $json ; "商品.商品名" )
とすれば、
Aファイルでは正確に見えます。
しかし、Aファイルを含外部接続したBファイルから同じようにしても、真っ白な画面がでています。
しかしエラーになる事はなく、ただ情報が見えない状態のようです。
まったく意味不明です。。。

ハゲ

#12 2019-09-07 20:07:36

秩父の禿オヤジ
Guest

Re: jsonデータが見えない

続きです

jsonデータは複数なく、1つのみでした。
{
    "商品" :
    [
        {
            "id" : "id-000024",
            "価格" : 1200,
            "個数" : 1,
            "合計" : 1200,
            "商品ID" : "O000008",
            "商品名" : "バスタオル(ダークブラウン)",
            "小計" : 1200,
            "消費税額" : 0,
            "税率" : 0.1
        }
    ]
}

ハゲ

#13 2019-09-07 22:09:11

Hiro
Member

Re: jsonデータが見えない

『ファイルBのテーブル側で設定したローカル変数$jsonは、別ファイルAの別テーブル内計算では参照出来ない』

と云う単純な落ちでない?

Offline

#14 2019-09-08 00:49:14

Shin
Member

Re: jsonデータが見えない

たぶんそうでしょうね

変数の使用
を、よくお読みください

Last edited by Shin (2019-09-08 08:42:18)

Offline

#15 2019-09-08 10:13:55

秩父の禿オヤジ
Guest

Re: jsonデータが見えない

Hiroさん
Shinさん

本当にありがとうございます。
知らなかったです。
ファイル間での変数の受け渡しに制約があったとは...
まるまる4日間が...
ファイルが大きくならないように、なるべくファイルを分けていたのですが、
そのような案件の場合は特に注意ですね。

変数を一から勉強してみます(m_m)
ハゲ

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 7 queries executed - Memory usage: 536.72 KiB (Peak: 557.63 KiB) ]