我正在使用httpbuilder创建对API的REST请求。
唯一接受的JSON格式是
{
"attributes" : [
{
"name" : "attr-name",
"values" : [
"attr-value"
]
}
]
}
这在Postman-ReSTClient中被接受并成功
t将其转换为 map 是这样的
[attributes:[name:attName,values:[value:value1]]]
要么
[attributes:[[name:attName,values:[value:value1]]]]
我收到错误消息,说请求正文不正确。
最佳答案
如果您问有关Postman API的问题,我无能为力。如果您要询问JSON代码是否与您的Ruby代码匹配,那么不,它们不匹配。
大括号{}标记哈希(键:值对),大括号[]标记数组(无键的值列表)。
你有这个:
require 'json'
m = [attributes:[name:"attName",values:[value:"value1"]]]
print m.to_json()
> [{"attributes":[{"name":"attName","values":[{"value":"value1"}]}]}]
但是,您想要这样:
require 'json'
m = {attributes:[{name:"attName",values:["1"]}]}
print m.to_json()
> {"attributes":[{"name":"attName","values":["1"]}]}
凭经验,它有 key 吗?使用 {}。它是值列表吗?使用 []
关于json - 从JSON到映射的正确转换是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30522310/