无法使用 R POST() 反序列化实例

Cannot deserialize instance with R POST()

我正在尝试使用 R 中的 POST() 函数获取查询 ID。只要我只使用简单的 JSON

,它就可以正常工作
library(httr)
library(jsonlite)

base_json <- paste('
{
  "segment" : "WHG_M"
}
')

id <- POST("url", 
           body = fromJSON(base_json), 
           encode = "json", 
           authenticate(username,password, type = "basic"))

但是,当我尝试合并更多条件时,即:

base_json <- paste('
{
  "segment" : "WHG_M",
  "administrativeSpatialFilter" : {
    "municipalityCodes" : [ 11000000 ]
  }
}
')

我收到 POST() 的以下错误:

Cannot deserialize instance of `java.util.ArrayList` 
out of VALUE_NUMBER_INT token

fromJSON(base_json)

$segment
[1] "WHG_M"

$administrativeSpatialFilter
$administrativeSpatialFilter$municipalityCodes
[1] 11000000

有人知道如何解决这个问题吗?

异常包含'java.util.',明确说明是Java中写的REST-service抛出的。

我猜这个JSON { "segment" : "WHG_M", "administrativeSpatialFilter":{ "municipalityCodes":[11000000] } }

被你R-Client方法转化为

{
  "segment" : "WHG_M",
  "administrativeSpatialFilter" : {
    "municipalityCodes" : 11000000
  }
}

这不再是一个列表并破坏了服务器上的 JSON-Parser。

您必须强制 JSON-Encoder 保留 JSON-list-structure,即使它只有一个元素。