Sto passando alcuni JSON a un server tramite uno script (non il mio) che accetta JSON come stringa.Come faccio a uscire da una singola citazione in Ruby?
Alcuni dei contenuti del JSON contengono virgolette singole, quindi voglio assicurarmi che tutte le virgolette siano sfuggite prima di essere passate allo script.
Ho provato quanto segue:
> irb
> 1.9.3p194 :001 > x = "that's an awesome string"
> => "that's an awesome string"
> 1.9.3p194 :002 > x.sub("'", "\'")
> => "that's an awesome string"
> 1.9.3p194 :003 > x.sub("'", "\\'")
> => "thats an awesome strings an awesome string"
ma non riesco a ottenere la giusta sintassi.
Come sono le i valori "passati"? Perché * quello * sembra il difetto; JSON gestisce le virgolette incorporate, e una volta che è * dentro * una stringa di Ruby, non ha importanza. –
Se "via script" significa sottoprocesso, per favore aprilo * senza * creando una subshell che risolverà questo problema interamente in sistemi simil-Unix. (Non sono sicuro che la roba di Win32 sia sufficientemente aggiornata per questa assurdità.) –
'x.sub ("'", "\\\\'") 'fa quello che stai cercando di fare. Ma il modo in cui Tin Man è il modo giusto per gettarsi a jsonify. – Zabba