我正在尝试使用R中的POST()函数获取queryID。只要我仅使用简单的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
有人知道如何解决该问题吗?
答案 0 :(得分:0)
该异常包含“ java.util。”,它清楚地表明该异常是由用Java编写的REST服务抛出的。
我猜这个JSON { “ segment”:“ WHG_M”, “ administrativeSpatialFilter”:{ “ municipalityCodes”:[11000000] } }
由您的R-Client方法转换为
{
"segment" : "WHG_M",
"administrativeSpatialFilter" : {
"municipalityCodes" : 11000000
}
}
这不再是列表,并破坏了服务器上的JSON-Parser。
即使只有一个元素,您也必须将JSON-Encoder保持JSON-list-structure。