【问题标题】:Json creation in ruby for a list在 ruby​​ 中创建 Json 以获取列表
【发布时间】:2016-03-01 13:30:44
【问题描述】:

我是 Ruby 新手。

我想为一组元素创建一个 JSON 文件。

为此,我使用eachfunction 来检索数据。我想为 4 长度数组创建如下 json,

'{   
  "desc":{  
    "1":"1st Value",
    "2":"2nd value"
    "3":"3rd Value",
    "4":"4th value"
  },
}'

这是我的数组迭代,

REXML::XPath.each( doc, "//time" ) { |element1|  
  puts element1.get_text  
}

我知道这里是生成 JSON 的简单代码,

require 'json/add/core'

class Item < Struct.new(:id, :name); end

chair = Item.new(1, 'chair')
puts JSON.pretty_generate(chair)

这种语法会生成如下的json,

{
  "json_class": "Item",
  "v": [
    1,
    "chair"
  ]
}

但我不确定如何为我的元素制作 JSON,如上所述。谷歌搜索没有给我一个正确的方法来做到这一点。

有人可以帮我吗?

【问题讨论】:

  • 不清楚:您想从哪些数据创建 JSON 输出?你想要什么特定的 JSON 输出?
  • 您的第一个 JSON 代码无效!首先,2nd value 之后缺少一个逗号,其次,desc 哈希末尾有一个逗号。请在发布之前使用JSONLint 检查您的 JSON。

标签: arrays ruby json


【解决方案1】:

是这个意思吗?:

require 'json'

my_arr= ["1st Value","2nd Value","3rd Value","4th Value"]

tmp_str= {} 
tmp_str["desc"] = {}

my_arr.each do |x|
    tmp_str["desc"]["#{x[0]}"] = x 
end
puts JSON.generate(tmp_str) 

你可以迭代字符串数组,然后将字符串取散列对象。JSON可以很容易地解析散列对象。

【讨论】:

  • 您当然可以对您的答案进行更多解释。
  • 你能补充一些为什么这应该有效的细节吗?纯代码答案不是很有用,可能会被删除。
猜你喜欢
  • 1970-01-01
  • 2021-08-03
  • 2011-08-01
  • 2015-09-09
  • 1970-01-01
  • 2014-02-02
  • 1970-01-01
  • 2022-08-14
  • 1970-01-01
相关资源
最近更新 更多