How do I serialize an array and deserialize it back from a string? I tried the following code, but it doesn\'t really return the original array of integers but does for the arra
The standard way is with Marshal
:
x = Marshal.dump([1, 2, 3])
#=> "\x04\b[\bi\x06i\ai\b"
Marshal.load(x)
#=> [1, 2, 3]
But you can also do it with JSON
:
require 'json'
x = [1, 2, 3].to_json
#=> "[1,2,3]"
JSON::parse(x)
#=> [1, 2, 3]
Or YAML
:
require 'yaml'
x = [1, 2, 3].to_yaml
#=> "---\n- 1\n- 2\n- 3\n"
YAML.load(x)
#=> [1, 2, 3]