Ho un elemento con un attributo rel che contiene una stringa JSON, qualcosa di simile:valore JSON con apostrofo
rel='{"id":"#id#","name":"#name#"}'
Poi, nel mio codice javascript, io uso $.parseJSON
analizzare questi dati. Funziona correttamente, inoltre per i casi in cui name
contiene un apostrofo. Ho provato a utilizzare jsStringFormat
, un coldfusion replace
che sostituisce tutte le virgolette singole con virgolette singole sfuggite, ecc, ma non riesco a trovare una soluzione corretta. So che questo è probabilmente semplice, ma come faccio a ottenere il codice per passare correttamente i valori con apostropes/virgolette singole usando json?
Questo codice funziona, ma elimina gli apostrofi, che mi piacerebbe conservare:
rel='{"id":"#id#","name":"#replace(name,"'","","all")#"}'
Questo non funziona:
rel='{"id":"#id#","name":"#replace(name,"'","\'","all")#"}'
Né:
rel='{"id":"#id#","name":"#replace(name,"'","\\\'","all")#"}'
Or :
rel='{"id":"#id#","name":"#replace(name,"'",""","all")#"}'
Oppure:
rel='{"id":"#id#","name":"#jsStringFormat(name)#"}'
Per evitare correttamente le virgolette negli attributi HTML, utilizzare '"' – cspolton
Perché non si può semplicemente usare [serializeJson] (http://cfdocs.org/serializeJson)? –