1

Plumber ( https://github.com/trestletech/plumber ) を使用して、R ソース コード用の Web API を作成しました。この目的は、json_string を入力として処理し、それを R データフレームに変換することです。

R コード:

#* @param data
#* @post /predict
jsonToDF <- function(data) {
    library(jsonlite)
    dat <- fromJSON(data)
}

上記のコードからわかるように、ライブラリjsonlitefromJSON()メソッドを使用しています。

次に、次の方法でサービスをローカルに公開しました。

library(plumber) 
r <- plumb("code.R")
r$run(port=54321)

私はcurlリクエストを使用しました:

curl -v -i -X POST -H "Content-Type: application/json" --data "testData='{\"a\":\"b\"}'" http://localhost:54321/predict 

json_string ( {"a":"b"}) を送信しますが、これは私が得たエラーです:

<simpleError: lexical error: invalid char in json text.
                                       '{"a":"b"}'
                     (right here) ------^

R コンソールを使用して入力の有効性を再確認しましたが、同じエラー メッセージは表示されませんでした。

> z <- fromJSON('{"a":"b"}')
> z
$a
[1] "b"

なぜRコンソールで機能するのに、curlリクエストのデータフィールドへの入力としては機能しないのか、誰かに説明してもらえますか? どうもありがとうございました!

4

1 に答える 1