Ich fand paar ähnliche Antworten auf SO, aber keiner von ihnen ist genug. Ich rufe Ajax mit $.post()
und jsonstring string zurückgegeben.Überprüfen Sie, ob Ajax gültige JSON-String zurückgegeben
Viele Dinge können auftreten (falsches JSON-Format, Serverfehler, Verbindung verloren usw.) und ich versuche zu testen, ob die zurückgegebene Zeichenfolge json
gültig ist.
Ich überprüft diese answer, aber es ist eval
, die nicht sicher ist.
Hier ist mein Code, den ich jetzt geschrieben:
$.post(
'some_url.php',
some_params,
function(data) {
var is_JSON = true;
try {
data = $.parseJSON(data);
}
catch(err) {
is_JSON = false;
}
if (is_JSON && (data !== null)) {
console.log('correct json format');
if (data.result === 'OK') {
console.log('result: OK');
}
else if (data.result === 'ERR') {
console.log('result: ERR');
}
}
else {
try {
console.log('incorrect json format');
}
catch(err) {
console.log('error occured');
}
}
}
);
Wie kann ich einfach (und gerade genug) überprüfen, wenn zurückgegebene Zeichenfolge in der richtigen json-Format ist? Vielen Dank.
Ich denke, dass Sie es richtig machen. Überprüfen Sie diese Antwort http://stackoverflow.com/questions/3710204/how-to-check-if-a-string-is-a-valid-json-string-in-javascript-without-ustry-try –
Die akzeptierte Antwort Es ist falsch, aber diese Antwort (mit den meisten Stimmen) sollte stimmen, ja? http://StackOverflow.com/a/3710226/1631551 – Legionar
Das ist, was ich tun würde. Hier ist eine andere ähnliche - http://StackOverflow.com/a/8431765/1161948 – ThisClark