Ho provato a rilevare il supporto JSON con if(JSON.parse) {}
ma non funziona. C'è un modo per rilevare il supporto JSON?Come rilevare il supporto JSON in javascript?
risposta
Tratto da JSON più famoso implementazione https://github.com/douglascrockford/JSON-js/blob/master/json2.js
var JSON;
if (JSON && typeof JSON.parse === 'function') {
....
}
(Ho unito le due if
: if (!JSON) {
della linea 163 e la linea 406. if (typeof JSON.parse !== 'function') {
di
Il trucco è che il var JSON
otterrà il valore dell'oggetto JSON del browser, undefined
in caso contrario.
Nota che nei versi latest sulla della biblioteca hanno cambiato il codice a qualcosa di simile:
if (typeof JSON === 'object' && typeof JSON.parse === 'function') {
....
}
(senza pre-dichiarare la var JSON
)
grazie mille –
Ora puoi controllare 'if (JSON ...)' ?? ** riceverai un errore **. è come fare 'if (lalala ...) // error'. Il modo corretto è: 'if (typeof JSON ===" undefined "...)' –
@RoyiNamir Hai ragione ... Avevo dimenticato una riga di codice ... Prima di 'if' ci dovrebbe essere un' var JSON; '. Ho persino aggiunto la versione "più recente" dell'assegno. – xanatos
potrebbe non esattamente contare come una risposta a ciò che è stato chiesto, ma sarebbe forse l'analisi del user agent (navigatore) e verificando le versioni si è certi che supportino il parser come possibile alternativa?
Ci sono così tanti possibili user agent che questo non è pratico. È difficile tenersi aggiornati. C'è una lunga storia di bug con questo tipo di rilevamento di user-agent, e di solito ci sono soluzioni migliori (rilevamento di funzionalità). – Liam
- 1. Come posso rilevare il supporto tattile del dispositivo in JavaScript?
- 2. Come posso rilevare il supporto per contentEditable tramite JavaScript?
- 3. Come posso rilevare il supporto rel = "noreferrer"?
- 4. will_paginate il supporto JSON?
- 5. Rileva per ... del supporto per il loop in JavaScript
- 6. Supporto JSON nativo in iOS?
- 7. Come rilevare il supporto per l'attributo "download" HTML5?
- 8. Come rilevare se il supporto del browser lampeggia?
- 9. jQuery ha integrato il supporto JSON?
- 10. Come posso rilevare il tasto Maiusc + in javascript?
- 11. Come rendere Owin il supporto per l'host automatico Uscita Json?
- 12. Come aggiungere il supporto JSON con XML già funzionante?
- 13. Supporto proxy Javascript in Babel
- 14. affidabile rilevare il supporto PDF sul dispositivo Android
- 15. Come rilevare il tasto premuto in TypeScript?
- 16. Rilevamento del supporto Drag & Drop HTML5 in javascript
- 17. Come rilevare se il supporto del browser ha specificato css-classe css?
- 18. Rileva supporto per la transizione con JavaScript
- 19. Come creare una stringa JSON in JavaScript?
- 20. Come utilizzare un file JSON in javascript
- 21. Come ripetere l'array JSON in JavaScript?
- 22. Javascript come analizzare array JSON
- 23. Rilevamento supporto browser SNI (nome server) in javascript
- 24. Come rilevare il tipo di supporto della pagina corrente in jQuery
- 25. Parse JSON oggetto in JavaScript
- 26. Come rilevare il sistema operativo con JavaScript (senza window.navigator deprecato)
- 27. Come posso rilevare il browser con PHP o JavaScript?
- 28. JSON nel dizionario in JavaScript?
- 29. Come posso rilevare se il browser ha riscontrato un errore JavaScript ... in JavaScript?
- 30. Come posso rilevare le funzioni Javascript chiamate?
Vuoi dire in una libreria specifica o javascript stesso? JSON è solo una notazione per oggetti javascript, javascript stesso lo supporta in modo nativo. – websymphony
@websymphony, ma non ha la possibilità di * analizzare * in modo nativo, ad es. Creare un oggetto con una stringa. –
Hai provato con if ('JSON' nella finestra)? – stecb