Mi viene inviata una stringa JSON mal formata da una terza parte. Ho provato a utilizzare JSON.parse(str)
per analizzarlo in un oggetto JavaScript, ma ovviamente non è riuscito.Stringa JSON Parse male formata
Il motivo è che le chiavi non sono stringhe:
{min: 100}
Al contrario di stringa valida JSON (che analizza bene):
{"min": 100}
ho bisogno di accettare la stringa di formato malati per adesso. Immagino che dimenticare di citare correttamente le chiavi sia un errore comune. C'è un buon modo per cambiare questo in una stringa JSON valida in modo che io possa analizzarlo? Per ora potrei dover analizzare carattere per carattere e provare a formare un oggetto, che suona terribile.
Idee?
Sembra che ci siano alcune soluzioni qui: http://stackoverflow.com/questions/4210160/safely-parsing-a-json-string-with-unquoted-keys?rq=1 – showdev
Penso che usare un costruttore di funzioni dovrebbe funzionare in questo caso: 'var data = new Function ('return' + illFormedJSON;)()' – m90
'(?: [az] +): +' Direi di cercare tutte le chiavi non corrette. Questa non è una regex completa per dovrebbe darti un punto di partenza. Non ho il tempo di rispondere completamente alla domanda. – travis