Non si tratta di come gestire o correggere un JSON guasto, ma di come spiegare all'utente dove si trova l'errore nel JSON difettoso.Analizzare JSON errato ed essere in grado di visualizzare dove si trova l'errore
C'è un modo per scoprire in quale posizione nel JSON il parser non è riuscito.
Voglio risolvere questo problema in un'applicazione node.js quindi ti preghiamo di conservare le risposte in quel dominio se possibile.
Quando uso l'oggetto JSON incorporato e il metodo parse per un JSON difettoso, ottengo solo il messaggio di eccezione SyntaxError: Unexpected string
. Vorrei sapere dove si è verificato l'errore.
Preferibile sarebbe un JSON.validate(json)
che ha restituito risultato ok/errore e la posizione dell'errore. Qualcosa di simile a questo:
var faultyJsonToParse = '{"string":"value", "boolean": true"}';
var result = JSON.validate(faultyJsonToParse);
if (result.ok == true) {
console.log('Good JSON, well done!');
} else {
console.log('The validator found a \'' + result.error + '\' of type \'' + result.errorType + '\' in your JSON near position ' + result.position);
}
L'esito desiderato di quanto sopra sarebbe:
The validator found a 'SyntaxError' of type 'Unexpected string' in your JSON near position 35.
si aspetta un indice in una stringa JSON minified in cui l'errore si è verificato? – Aesthete
Sì, qualcosa del genere. Potrebbe anche essere un percorso per il problema in un JSON di grandi dimensioni, immagino. – javabeangrinder
Yeh .. Forse hanno una lettura di questo .. https://bugzilla.mozilla.org/show_bug.cgi?id=507998 Probabilmente non rispondere alla tua domanda, ma potrebbe dare un po 'di informazioni sul perché questa funzionalità non lo fa esistono in modo nativo – Aesthete