Teisingas būdas pašalinti išimtį iš JSON.parse

Im, naudojant JSON.parse atsakymui, kuris kartais turi 404 atsakymą. Tais atvejais, kai jis grąžina 404, ar yra būdas JSON.parse išimtį ir tada atlikti kitą kodą?

 data = JSON.parse(response, function (key, value) { var type; if (value  typeof value === 'object') { type = value.type; if (typeof type === 'string'  typeof window[type] === 'function') { return new(window[type])(value); } } return value; }); 
158
17 дек. 17 d. 2010-12-17 04:52 '10, 4:52, 2010-12-17 04:52
@ 3 atsakymai

Aš siunčiu kažką į „iframe“ ir tada perskaitysiu „iframe“ turinį naudodamas „json parse“, taigi kartais tai nėra „json“

Pabandykite atlikti šiuos veiksmus:

 if(response) { try { a = JSON.parse(response); } catch(e) { alert(e); // error in the above string (in this case, yes)! } } 
242
17 дек. „ SuperSaiyan“ atsakymas gruodžio 17 d. 2010-12-17 06:08 '10, 06:08, 2010-12-17 06:08

Galite pabandyti:

border=0
1
13 июля '17 в 16:45 2017-07-13 16:45 Hors Sujet atsakymas liepos 17 d. 17 d. 16:45 pm 2017-07-13 16:45

Šis pažadas nebus išspręstas, jei JSON.parse () argumento negalima perskaityti į JSON objektą.

 Promise.resolve(JSON.parse('{"key":"value"}')).then(json => { console.log(json); }).catch(err => { console.log(err); }); 
0
05 окт. Atsakyti Jason Clay 05 spalis 2017-10-05 10:32 '17 at 10:32 2017-10-05 10:32

Kiti klausimai apie „ žymas „ arba „ Užduoti klausimą“