Ruby:从字符串到 JSONS 数组
Ruby: From a String to an Array of JSONS
我有一个从 post 表单中检索到的字符串,看起来像这样
"[{"Name": "David", "ID": "2"}, {"Name": "Logan" , "ID": "3"}]"
我想自己迭代访问每个 JSON 对象。或者理想情况下,将此字符串转换为 Ruby 中 JSON 的数组。知道怎么做吗?
使用JSON.parse
:
require 'json'
=> true
JSON.parse('[{"Name": "David", "ID": "2"}, {"Name": "Logan" , "ID": "3"}]')
=>
[
[0] {
"Name" => "David",
"ID" => "2"
},
[1] {
"Name" => "Logan",
"ID" => "3"
}
]
要将 API 返回的 JSON string 转换为 JSON 字符串的 Ruby 数组,我会这样做:
json = '[{"Name": "David", "ID": "2"}, {"Name": "Logan" , "ID": "3"}]'
require 'json'
ruby_array_of_ruby_hashes = JSON.parse(json)
ruby_array_of_json = ruby_array_of_ruby_hashes.map(&:to_json)
#=> ["{\"Name\":\"David\",\"ID\":\"2\"}","{\"Name\":\"Logan\",\"ID\":\"3\"}"]
或简称:
JSON.parse(json).map(&:to_json)
我有一个从 post 表单中检索到的字符串,看起来像这样
"[{"Name": "David", "ID": "2"}, {"Name": "Logan" , "ID": "3"}]"
我想自己迭代访问每个 JSON 对象。或者理想情况下,将此字符串转换为 Ruby 中 JSON 的数组。知道怎么做吗?
使用JSON.parse
:
require 'json'
=> true
JSON.parse('[{"Name": "David", "ID": "2"}, {"Name": "Logan" , "ID": "3"}]')
=>
[
[0] {
"Name" => "David",
"ID" => "2"
},
[1] {
"Name" => "Logan",
"ID" => "3"
}
]
要将 API 返回的 JSON string 转换为 JSON 字符串的 Ruby 数组,我会这样做:
json = '[{"Name": "David", "ID": "2"}, {"Name": "Logan" , "ID": "3"}]'
require 'json'
ruby_array_of_ruby_hashes = JSON.parse(json)
ruby_array_of_json = ruby_array_of_ruby_hashes.map(&:to_json)
#=> ["{\"Name\":\"David\",\"ID\":\"2\"}","{\"Name\":\"Logan\",\"ID\":\"3\"}"]
或简称:
JSON.parse(json).map(&:to_json)