Gå til innhold

Anbefalte innlegg

Skrevet

_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 :)

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...