R plumber 套件在解析 json 時的問題(plumber invalid json)

問題描述

R plumber 製作 api 後,如果要 post json 會出現 invalid json 的時候該怎麼辦呢?

solution

先確定是否有拆解正確

由於傳送 json 的時候是 raw,因此我們要將解析出 postbody,裡面那包才是真正的 json,其他都是附帶資訊

示意圖如下

1
2
3
4
5
6
7
8
9
10
library(plumber)
library(jsonlite)
#* parse JSON
#* @param req the request object
#* @get /json_echo
#* @post /json_echo
json_echo <- function(req){ #req post 的所有資訊
json_content <- req$postBody #req$postBody 為 post 中 user 傳送的資料
return(json_content) #回傳 user post 的 json
}

如果確認是正確,那我們必須要檢查 plumber 套件版本是否大於 0.4.6

在我搜尋資料的過程中發現 plumber 小於等於 0.4.6 的版本再傳送 json 時都有此問題,而在後面的版本都有解決此問題,因此我們就要將 plumber 包更新。

如何更新呢?

1
install.packages("plumber")

參考來源

Unnecessary warning when POST (JSON) body has multiple lines by jnolis

心得

希望我能夠完全熟用 R,現在還有很多都不太懂,還需要花時間去慢慢解決呢!

  • 版權聲明: 本部落格所有文章除有特別聲明外,均採用 Apache License 2.0 許可協議。轉載請註明出處!
  • © 2020-2024 John Doe
  • Powered by Hexo Theme Ayer
  • PV: UV: