无法使用 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,即使它只有一个元素。
我正在尝试使用 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,即使它只有一个元素。