1

我对 Middleman 和 Ruby 很陌生,所以我提前道歉......

我正在尝试通过“中间人本地数据”读取我的数据文件夹中的一些 JSON 文件,然后将结果保存到环境变量中,这样我最终可以将它传递给我的 JS 文件。像这样的东西:

- data.test.each do |t|
    - set :json_data, t

这实际上是在读取我的 /data/test.json 文件并将其保存到 json_data 变量中。但是,它不是 JSON 格式。这只是我所有节点的字符串连接。我的猜测是我需要在将 JSON 信息保存到变量之前对其进行解码。就像是?

- data.test.each do |t|
    - set :json_data, ActiveSupport::JSON.decode(t)

但这也不起作用。我试图安装一个 json gem,但它确实有效。

有什么我可能会丢失的线索吗?

4

1 回答 1

2

ActiveSupport 是一个 Rails 模块,Middleman 没有。假设您已经安装了 JSON gem,您可以执行以下操作:

string = File.read('/path/to/json/file.json')

json = JSON.parse(string)

json.each do |node|
  # do your stuff here

更多内容:在 Ruby 中解析 JSON 字符串

于 2013-04-23T14:50:28.687 回答