2013-03-18 3 views
1

Я довольно новыми для посредническая и Руби, поэтому я свои извинения заранее ...Посредник JSON локальные данные

Я пытаюсь читать с помощью «Middleman локальных данных» некоторые 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, но он действительно сработал.

Любой ключ от того, что мне может не хватать?

ответ

2

ActiveSupport - это модуль Rails, который вы не получаете от Middleman. Предполагая, что вы установили камень JSON, вы можете сделать что-то вроде этого:

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

json = JSON.parse(string) 

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

Подробнее здесь: Parsing a JSON string in Ruby

+0

Ого ... Я просто видел это. Я на самом деле закончил делать что-то очень похожее! Прошу прощения и благодарю вас (предположите, лучше поздно, чем никогда) –

+1

Нет проблем! не могли бы вы пометить ответ как принятый? :) – Billy

Смежные вопросы