如何序列化數組並將其反序列化爲字符串?我嘗試了下面的代碼,但它並沒有真正返回原始數組,而是針對字符串數組。如何序列化數組並反序列化返回
x = [1,2,3].join(',') # maybe this is not the correct way to serialize to string?
=> '1,2,3'
x = x.split(',')
=> [ '1', '2', '3' ]
有沒有辦法把它找回來爲整數,而不具有.collect{ |x| x.to_i }
?
加載編組數據有什麼危險?你是否想過'eval'?元帥是確保原始編碼的唯一方法。 – pguardiario 2013-03-17 13:15:16
引用元帥的紅寶石文檔「按設計,:: load可以反序列化幾乎所有加載到Ruby進程的類,在很多情況下,如果Marshal數據是從不受信任的源加載的,這可能會導致遠程代碼執行。 – 2013-03-17 14:43:03
我想知道你是否可以在OP的情況下給出一個具體的例子,儘管可能發生。我不認爲這是真的可能。 – pguardiario 2013-03-17 14:53:57