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

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

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

You are not logged in.

Announcement

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


#1 2020-10-14 15:44:23

nice-guy
Member

ランタイムでURLから挿入でJSONデータを取得したい

みなさん、こんにちは。Win版V18を使用しています。
あるサイトからURLから挿入スクリプトでJSONデータを取得し、テキストファイルにして書き出すものを作成しています。
FileMaker本体から動かすときは正常に取得出来るのですが、ランタイムにして実行するとエラーとなります。
ランタイムではこういうことは出来ないのでしょうか?
よろしくお願いします

Offline

#2 2020-10-14 15:51:04

Shin
Member

Re: ランタイムでURLから挿入でJSONデータを取得したい

ランタイムは、FM15頃から廃止される機能となっており、FM19では、その機能は無くなっています。そのエンジンはメンテナンスされていないようで、最近の MacOS では動きません。
URLから挿入、は動いていますか。JSON関数はサポートされていないでしょうね。

Offline

#3 2020-10-14 15:59:57

nice-guy
Member

Re: ランタイムでURLから挿入でJSONデータを取得したい

補足です。JSONデータはきちんと取得しているのですが、JSONFormatElements関数が正常に動作していないような感じです。
Verは18.0.3.317 です

Offline

#4 2020-10-14 16:14:03

nice-guy
Member

Re: ランタイムでURLから挿入でJSONデータを取得したい

Shin さん、回答ありがとうございました。
なるほど、JSON関数が最初に登場したV16でランタイム作ってみましたが、やはりJSON関数は動作しませんでした。
それならば、JSON関数を使わない形(V15当時の)で、JSONデータから必要データを取得したいのですが、その手法などが紹介されているサイトやサンプル、カスタム関数などがありましたら教えて下さい。
よろしくお願いします

Last edited by nice-guy (2020-10-14 16:17:46)

Offline

#5 2020-10-14 16:40:21

Shin
Member

Re: ランタイムでURLから挿入でJSONデータを取得したい

JSON のデータはテキストデータですので、テキスト処理を行えばいいでしょう。プラグインもあるのですが、却ってめんどうかも。
現物があれば、アドバイスできるかも。
私が使っていた概略は、テキスト全体の改行を削除します。
目的のセグメントのタイトル前に改行を追加して、目的の部分を切り出し。繰り返し部分はカッコを適当に処理していくといいです。

Last edited by Shin (2020-10-14 16:53:54)

Offline

#6 2020-10-14 17:04:28

nice-guy
Member

Re: ランタイムでURLから挿入でJSONデータを取得したい

Shin さん、ご親切にありがとうございます。
ならば、お言葉に甘えて。

過去の質問
https://fm-aid.com/bbs2/viewtopic.php?id=10996
にもありますが、

URLから取得したデータ生データは
{"coord":{"lon":136.91,"lat":35.18},"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02d"}],"base":"stations","main":{"temp":19.48,"feels_like":15.39,"temp_min":11.67,"temp_max":24,"pressure":1015,"humidity":57},"visibility":10000,"wind":{"speed":6.2,"deg":310},"clouds":{"all":20},"dt":1602662176,"sys":{"type":1,"id":8009,"country":"JP","sunrise":1602622639,"sunset":1602663545},"timezone":32400,"id":1856057,"name":"Nagoya","cod":200}

JSONFormatElementsで整形したものは下記の物 これが出来ません。
{
    "base" : "stations",
    "clouds" :
    {
        "all" : 20
    },
    "cod" : 200,
    "coord" :
    {
        "lat" : 35.18,
        "lon" : 136.91
    },
    "dt" : 1602662176,
    "id" : 1856057,
    "main" :
    {
        "feels_like" : 15.39,
        "humidity" : 57,
        "pressure" : 1015,
        "temp" : 19.48,
        "temp_max" : 24,
        "temp_min" : 11.67
    },
    "name" : "Nagoya",
    "sys" :
    {
        "country" : "JP",
        "id" : 8009,
        "sunrise" : 1602622639,
        "sunset" : 1602663545,
        "type" : 1
    },
    "timezone" : 32400,
    "visibility" : 10000,
    "weather" :
    [
        {
            "description" : "few clouds",
            "icon" : "02d",
            "id" : 801,
            "main" : "Clouds"
        }
    ],
    "wind" :
    {
        "deg" : 310,
        "speed" : 6.2
    }
}


ここから取得したいのは
cod
main.feels_like
main.humidity
main.pressure
main.temp
wind.deg
wind.speed
weather[0]description
weather[0]main
weather[0]icon
rain.1h   ふらないときは返らない
snow.1h   ふらないときは返らない
clouds.all

です。よろしくお願いします。

Offline

#7 2020-10-14 20:46:29

qb_dp
Member

Re: ランタイムでURLから挿入でJSONデータを取得したい

かなり前に作ったモノですが、以下が使えるかも。

FileMaker WEBビューア経由でJSONデータにアクセス!(3)
https://qbxxdp.blogspot.com/2014/08/fil … json3.html

Offline

#8 2020-10-15 13:10:07

nice-guy
Member

Re: ランタイムでURLから挿入でJSONデータを取得したい

qb_dp さん、
回答ありがとうございました。
試してみました。素晴らしいですね。Autoにすれば何も手間いらず。
変数も自動で作成してくれてすべて全自動。
ランタイムでも動きますし、これを利用すれば何とかなりそうです。
どうもありがとうございました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 522.1 KiB (Peak: 527.01 KiB) ]