json - 从JSON到映射的正确转换是什么?

标签 json grails

我正在使用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/

相关文章:

android - Volley : BasicNetwork. performRequest:意外的响应代码 500

javascript - 如何将带有 JSON 文件的 sprite 表导入我的 Phaser 游戏?

grails - 在grails中,是否存在一个行为类似于findAll但不收集对象的循环?

javascript - 如何在Grails中将remoteFunction值传递给Java脚本

grails - Groovy 1.5.x/Grails 1.0.x If-Else语句错误

c# - 如何(反)序列化需要自定义 JsonConverter 的类型列表?

javascript - 带有时间的谷歌图表来自 php json

json - "forcePullImage"参数设置为 'false'

grails - spring-security-shiro org.apache.shiro.authc.AccountException:未登录或匿名

grails - 如何在 g :if test ="..." without providing it (or object instance) to the model? 中调用自定义函数