【问题标题】:parse json to get field value解析json获取字段值
【发布时间】:2015-11-09 16:33:47
【问题描述】:

我试图从下面的 json 响应中获取 json 值,但无法获取它。能给我建议吗?

[   
 {     
  "name": test
  "id": 123    
 } 
]

我已经尝试下面的代码来获取 name 的值。

response.body["name"]

我们将不胜感激。

【问题讨论】:

  • 那不是有效的 json。
  • 欢迎来到 Stack Overflow。我们想看看您为解决问题所做的努力。解析 JSON 和访问生成的对象在 Stack Overflow、互联网和文档中都有非常的详细记录。 How to Ask.

标签: ruby-on-rails ruby json


【解决方案1】:

这不是有效的 JSON:“test”不在字符串中,而且您缺少逗号。如果是有效的 JSON,例如这样:

json = "[{\"name\": \"test\", \"id\": 123}]"

你可以把它变成一个 Ruby 数据结构:

arr = JSON.parse(json)
=> [{"name"=>"test", "id"=>123}]

然后提取名称:

name = arr.first["name"]

【讨论】:

  • 谢谢 Max,是的,在这里写 Json 文件是我的错。现在我在解析 json arr = JSON.parse(json) 时遇到错误 --> 没有将 Unirest::HttpResponse 隐式转换为 String。
  • 你需要在你的问题中提到这种事情,例如你首先是如何获得 json 响应的。我们不介意读者......
  • 尝试在您的回复中致电body,看看您会得到什么。它可能是一个字符串,但可能会自动解析为哈希。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-20
  • 1970-01-01
  • 2021-12-29
  • 2016-01-27
  • 2021-10-27
  • 1970-01-01
相关资源
最近更新 更多