【问题标题】:Ruby: From a String to an Array of JSONSRuby:从字符串到 JSONS 数组
【发布时间】:2018-03-25 15:10:32
【问题描述】:

我从一个类似这样的帖子表单中检索到一个字符串

"[{"Name": "David", "ID": "2"}, {"Name": "Logan" , "ID": "3"}]"

我想自己迭代地访问每个 JSON 对象。或者理想情况下,将此字符串转换为 Ruby 中的 JSON 数组。关于如何做到这一点的任何想法?

【问题讨论】:

标签: json ruby sinatra


【解决方案1】:

使用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"
    }
]

【讨论】:

    【解决方案2】:

    要将 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)    
    

    【讨论】:

      猜你喜欢
      • 2019-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-12
      • 1970-01-01
      • 1970-01-01
      • 2011-03-30
      • 1970-01-01
      相关资源
      最近更新 更多