3
爲了解決problem with YAML incompatibility我試圖在Ruby中編寫命令行腳本。這是我完全不熟悉Ruby的問題。嵌套密鑰的Ruby編碼問題
所以我做了下面的腳本:
require 'json'
require 'yaml'
thing = YAML.load('---
author_id:
- 0
- 1
subject:
- ""
- !binary |
0KHQtNC10LvQsNGC0Ywg0LPRgNCw0LzQvtGC0L3Ri9C5INCy0L3QtdGI0L3Q
uNC5INCy0LjQtCDQtNC70Y8g0LjQvNC10Y7RidC10LPQvtGB0Y8=
')
puts thing.to_json
# puts thing['subject'][1].to_json # Issues the same error
而現在我越來越yaml2json.rb:15:in
編碼「: 」\ XD0「 從ASCII-8BIT爲UTF-8(編碼:: UndefinedConversionError)`
如何讓它認爲解碼base64是UTF-8?通常我不知道密鑰的確切名稱,subject
只是一個例子。
噢,謝謝。你能建議遞歸遍歷的快照嗎?我知道,愚蠢的問題,但我在Ruby中太弱了。 – 2013-04-25 08:56:12
我最終做到了。謝謝 – 2013-04-25 10:44:16
對不起,我正在睡幾個小時。看起來你提出了一個很好的解決方案,作爲你的其他問題的答案。 – 2013-04-25 14:25:03