Magnus Holm Skrevet 16. mars 2007 Skrevet 16. mars 2007 _why, som har laget YAML-biblioteket til Ruby, annonserte at JSON faktisk var gyldig YAML. Dessverre så viste det seg at det seg at det ikke var tilfellet: In JSON structures, the colon and comma need not be spaced out between items in a collection. In YAML, they do. Observe: # valid JSON, also valid YAML {"nick": "Philarp Tremaine", "rank": "infantry", "badge": "orange-striped, syrup-scented"} # valid JSON, not valid YAML {"nick":"Philarp Tremaine","rank":"infantry", "badge":"orange-striped, syrup-scented"} Men heldigvis så har The Projectionist svaret: def convert_json_to_yaml(json) # Ensure that ":" and "," are always # followed by a space quoting, escaping = false, false json.gsub(/./) do |char| escaping = false and next char if escaping case char when '"', "'" quoting = quoting == char ? false : char when "\\" escaping = true if quoting when ":", "," char << " " unless quoting end char end end json = %({"returnTo":{"/categories":"/"}}) YAML.load(json) # ArgumentError: syntax error on line 0, col 30: `' YAML.load(convert_json_to_yaml(json)) # => {"returnTo"=>{"/categories"=>"/"}} Dette var dagens blogg-liknende innlegg fra meg
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå