¿Cuál es la fecha literal para JSON/JavaScript (si existe tal cosa hace?)javascript/fecha JSON literal
Respuesta
literales de fecha were proposed and then retracted, tal vez los veremos en una futura edición de la especificación ECMA-262.
Desde there is no Date literal in JavaScript, tampoco hay literal para JSON (JavaScript Object Notation no sería un nombre tan bueno si no pudiera ser analizado por un motor de JavaScript ;-)). Es cierto que esto es desafortunado. Muchos servicios web producirán una cadena ISO 8601, p. 2010-03-23T23:57Z
, pero para analizarlo en JavaScript necesitaría usar una biblioteca personalizada, crear una función personalizada o confiar en la especificación de análisis de fecha de ECMAScript 5th, que establece que las implementaciones deberían analizar cadenas ISO 8601 de forma nativa.
Si se trata de su propio JSON que va a ser analizado en JavaScript, podría utilizar algo tan simple como milisegundos desde el 1 de enero de 1970 00:00 con un identificador y luego pasar una función resucitador a JSON.parse:
var myJSON = '{"MyDate":"@[email protected]"}'
var myObj = JSON.parse(myJSON, function (key, value)
{
// Edit: don't forget to check the type == string!
if (typeof value == "string" && value.slice(0, 1) == "@" && value.slice(-1) == "@")
return new Date(+value.substring(1, -1));
else
return value;
}
Obviamente, necesitaría usar el objeto JSON nativo que se encuentra en los navegadores modernos o json2.js para usar el reviver al analizar.
Para representación de cadena de fecha JSON utiliza la notación de cadena, por ejemplo, "2010-03-24 ...", y para la representación de objetos utiliza la notación de objetos "{...}"
No hay un formato especial para los literales de fecha.
En Javascript, puede escribir new Date(2010, 2, 23)
(Los meses se basan en cero, desafortunadamente).
año - mes - día ¿verdad? ¿Qué hay de JSON? ¿Cuál sería un valor aceptado para una fecha? – OscarRyz
Sí. Para JSON, no hay un estándar; necesitarás usar una cadena ordinaria. – SLaks
Y luego, ¿cómo usarlo en javascript? ¿Debo hacer algo como: 'var myDate = new Date (jsonObj.date);' ??? – OscarRyz
depende del serializador.
que podría ser uno de:
/fecha (1224043200000)/
/fecha (1198908717056)/(MS JSON Fecha)
/fecha (1198908717056-1000)/(+/- zona horaria)
new Date ("2010-03-24") (esta es la generalmente aceptada 'Javascript JSON' por lo que entiendo)
"2010-03-24"
etc
no es mi culpa que no haya un literal real, y que cada serializador sea diferente, pero este es un lugar para respuestas prácticas, no pedantes aburridos. –
- 1. Recuperando el objeto JSON Literal de HttpServletRequest
- 2. ¿Cómo usar una cadena literal JSON?
- 3. ¿Puedo escapar una comilla doble en una literal litera literal?
- 4. Concatenar literal de cadena con literal de char
- 5. JSON to javaScript array
- 6. La cadena JSON se trata como una cadena literal en el ciclo
- 7. ¿Cuál es la diferencia entre un objeto JS literal y una cadena JSON?
- 8. constante binaria C++/literal
- 9. Java: literal cadenas
- 10. StringBuilder literal Groovy/StringBuffer
- 11. Javascript objeto literal
- 12. asp.net literal control bgcolor
- 13. literal y rvalue referencia
- 14. Puntero al valor literal
- 15. dirección de memoria literal
- 16. F # - literal público
- 17. sed replace literal TAB
- 18. ASP.Net: Literal vs Etiqueta
- 19. Python prima cadena literal
- 20. cadena incompleta literal
- 21. cadena literal Sizeof
- 22. Access como literal de cadena en PHP
- 23. Literal Haskell: referencias e indexación
- 24. Scala XML.loadString vs expresión literal
- 25. WPF vinculante dentro texto literal
- 26. JavaScript objeto literal confusión notación
- 27. Inicializando ArrayList con literal constante
- 28. JavaScript - Ventajas del objeto literal
- 29. ¿Qué significa la palabra "literal"?
- 30. Javascript literal vs función oop
Acerca de la fecha, ¿cómo sabe que una cadena es una fecha y no una cadena si utiliza la misma notación? – OscarRyz