Intenté detectar compatibilidad con JSON con if(JSON.parse) {}
pero no funciona. ¿Hay alguna manera de detectar el soporte JSON?¿Cómo detectar el soporte de JSON en javascript?
Respuesta
Tomado del JSON más famoso aplicación https://github.com/douglascrockford/JSON-js/blob/master/json2.js
var JSON;
if (JSON && typeof JSON.parse === 'function') {
....
}
(He fusionado los dos if
: if (!JSON) {
de la línea 163 y la línea 406. if (typeof JSON.parse !== 'function') {
de
El truco aquí es que el var JSON
conseguirá el valor del objeto JSON del navegador, undefined
si no.
Tenga en cuenta que en el latest versi el de la biblioteca se cambió el código para algo como:
if (typeof JSON === 'object' && typeof JSON.parse === 'function') {
....
}
(sin pre-declarando la var JSON
)
muchas gracias –
¿Cómo puedes verificar 'if (JSON ...)' ?? ** obtendrás un error **. es como hacer 'if (lalala ...) // error'. La forma correcta es: 'if (typeof JSON ===" undefined "...)' –
@RoyiNamir Tienes razón ... Había olvidado una línea de código ... Antes del 'si' debería haber un' var JSON; '. Incluso he agregado la versión "más nueva" del cheque. – xanatos
¿No podría contar exactamente como una respuesta a lo que se pedía, sino que tal vez analizar el agente de usuario (navegador) y comprobar si hay versiones compatibles con el analizador, ¿es una posible alternativa?
Hay tantos agentes de usuario posibles que esto no es práctico. Es difícil mantenerse al día. Hay un largo historial de errores con este tipo de detección de agente de usuario, y generalmente hay mejores soluciones (detección de características). – Liam
- 1. will_paginate Soporte de JSON?
- 2. ¿Cómo detectar si el soporte del navegador es flash?
- 3. Cómo detectar el estado HTTP desde JavaScript
- 4. Cómo detectar el DPI pantalla utilizando JavaScript
- 5. Cómo detectar el error de búsqueda de DNS en JavaScript
- 6. Cómo detectar la ejecución de javascript en el control WebBrowser
- 7. JavaScript - Creando el objeto JSON
- 8. Cómo detectar objeto JSON/matriz JSON en XCode utilizando JSON-Framework
- 9. Soporte JSON nativo del navegador (window.JSON)
- 10. ¿Cómo detectar los clics del mouse en Javascript?
- 11. Cómo detectar si el soporte del navegador especificó css pseudo-class?
- 12. Prettify JSON en JavaScript
- 13. para cada JavaScript ¿Soporte en IE?
- 14. ¿Cómo verificar el soporte de video html5?
- 15. Detectar URL en texto con JavaScript
- 16. Convertir JSON cadena en serie de objetos JSON en JavaScript
- 17. JSON matriz de JavaScript
- 18. Cómo cargar archivos JSON locales en Javascript
- 19. Javascript cómo analizar matrices JSON
- 20. ¿Cómo construyo JSON dinámicamente en javascript?
- 21. ¿Cómo crear una cadena JSON en JavaScript?
- 22. Cómo usar un archivo JSON en javascript
- 23. Detectar HTTPS con JavaScript
- 24. Detectar adblock y javascript
- 25. Detectar la incrustación de iFrame en Javascript
- 26. Detectar el carácter ingresado con JavaScript
- 27. Javascript detectar barra de desplazamiento en textarea
- 28. objeto Analizar JSON en JavaScript
- 29. ¿Resaltar el soporte y el soporte Emacs?
- 30. ¿Detecta el soporte para un evento de JavaScript dado?
¿Quiere decir en una biblioteca específica o javascript en sí? JSON es solo una notación para objetos javascript, JavaScript lo soporta de forma nativa. – websymphony
@websymphony, pero no tiene la capacidad de * analizar * de forma nativa, por ejemplo, crear un objeto dado una cadena. –
¿Has probado con if ('JSON' en la ventana)? – stecb