2013-01-10 55 views
0

如何保存存儲在文件中的原始數據的格式和類型?讀取文件,同時保留格式和類型

stored_response = File.open('spec/data/response.txt', 'rb') { |f| f.read } 
item.get_location.should == stored_response 

#get_location作爲一個API調用

response.txt包含this但返回this曾經讀過

+0

那麼,你的文件中有一個換行符。現在你可以看到它。 –

+0

你想反序列化json,並且想要再次打印它嗎? – mbj

+0

@SergioTulentsev文件中實際上沒有新行。從vim ---- 1複製[990] ----「1」是行號和唯一的行號。 – Dru

回答

0

它不逃避字符串本身的特點,它只是逃脫他們,當你inspect的字符串(這是當打印結果時irb所做的)。

嘗試使用puts檢查數據。

irb:001:0> contents = File.read("data.json") 
=> "[990]\n" 

irb:002:0> puts contents 
[990] 
=> nil 
+0

我正在設置'File.open('data.json','rb'){| f | f.read}'給一個變量,並用它作爲我在測試中的期望。變量返回的是轉義文本。 – Dru

+0

期望也會用'檢查'來打印數值。在閱讀文件後,嘗試將'puts variable'放在一起,看看你得到了什麼。我向你保證'read'不會漏掉任何東西。 –

+0

像在我的編輯中一樣在控制檯上嘗試。 –

0

如果你想使用json,爲什麼不把它作爲json打開?

JSON.parse(IO.read("data.json")) 

,你不會看到任何系列化文物,JSON文件的然後。