2014-02-23 113 views
-1

下面的方法給我:更改格式

ICD1 = [] 
def parse_kapitel(node) 
    ICD1 << {von: node.css('~ von_icd_code')[0]['V'], 
      bis: node.css('~ bis_icd_code')[0]['V'], 
      bezeichnung: node.css('~ bezeichnung')[0]['V']} 
end 
File.write('Icd1.json', ICD1) 

,看起來像這樣的輸出:

[{:von=>"A00", :bis=>"B99", :bezeichnung=>"Bestim..... 

但我想的輸出,看起來像這樣:

[{"von":"A00", "bis":"B99", "bezeichnung":"Bestim..... 

如何以簡單的紅寶石方式實現這一點?

+0

你的問題不明確。你在問如何改變'puts'與符號鍵相關的哈希函數的方式,或者你想以你提交的形式實現這樣的字符串?我看不出json是如何相關的。 – sawa

+0

我的問題是,我想執行這個任務的數據:'file_Icd1Codes = File.read('Icd1.json') Icd1Code.create(JSON.parse(file_Icd1Codes))'不知何故這不會與數據一起工作我目前的格式!謝謝你的幫助! –

+0

在我原來的代碼中,我沒有'放入ICD1',而是將json保存到'File.write('Icd1.json',ICD1)'文件中! @sawa我認爲我的問題是,我現在不用如何正確地創建與Ruby的JSON!謝謝 –

回答

2

做如下使用Generating JSON

require 'json' 

[{ :von=>"A00", :bis=>"B99", :bezeichnung=>"Bestim" }].map(&:to_json) 
# => ["{\"von\":\"A00\",\"bis\":\"B99\",\"bezeichnung\":\"Bestim\"}"] 
+0

謝謝它的工作原理! –