Take_cheeze Wiki
Advertisement

Ruby Marshaling[]

binary examples[]

reading Marshal module[]

symbol table[]

  • array of unique symbols
  • when a unique symbol is defined with ':' identifier it is appended to the array
  • symbol id of ';' identifier is index of the array

object table[]

  • array of unique objects
  • untracked identifier during loading
    • nil, true, false
    • fixnum
    • extended
    • symbol
    • instance variables
    • link
    • sub class instance variables of string, regexp, array, hash
  • untracked data types during dumping
    • nil, true, false, fixnum, symbol
    • note that float is tracked

"\004\b"[]

  • means the marshal version
  • the phrase is commonly used in marshaling tests.
  • \b is 0x08 so "\004\b" is equivalent to "\x04\x08"

RubySpec[]

MessagePack[]

YAML[]

TOML[]

  • YAML replacement
  • like JSON+INI
  • toml

INI[]

XML[]

JSON[]

  • JavaScript Object Notation
  • type list
    • Object
    • Array
    • Number
    • Boolean
    • String
    • Null
  • JSON Template
    • HTML Template language using JSON.
    • Golang has support.
  • json tester
  • json-diff
    • command to check json changes
    • implemented with node.js
  • JsonDiffPatch
  • jsondiff
    • ruby json patch module
  • yajl
    • json library written in C
Advertisement