javascript - objeto - ¿Qué caracteres son válidos/inválidos en un nombre de clave JSON?
mostrar datos json javascript (4)
¿Hay algún carácter prohibido en los nombres de las teclas, para objetos JavaScript o cadenas JSON? O los personajes que necesitan ser escapados?
Para ser más específico, me gustaría usar "$", "-" y espacio en los nombres de las teclas.
Deben evitarse los puntos de código Unicode U + D800 a U + DFFF: no son invalid en Unicode porque están reservados para pares de sustitución UTF-16. Algunos codificadores / decodificadores JSON los reemplazarán con U + FFFD. Vea, por ejemplo, cómo el lenguaje Go y su biblioteca JSON tratan con ellos .
Así que evite "/ uD800" a "/ uDFFF" solo (no en pares de sustitución).
Los siguientes caracteres deben ser escapados en datos JSON para evitar cualquier problema
'' una frase
"Cita
/ backslash
todos los caracteres de control como / n / t
JSON Parser puede ayudarlo a lidiar con JSON.
EDITAR: Aquí hay un analizador JSON de reemplazo ya que el enlace de OP está muerto
No. Cualquier cadena válida es una clave válida. Incluso puede tener "
siempre que lo evites:
{"The /"meaning/" of life":42}
Existe la posibilidad de que experimente dificultades para cargar dichos valores en algunos idiomas, que intentan asociar claves con nombres de campos de objetos. Sin embargo, no conozco ninguno de estos casos.
Vale la pena mencionar que, aunque el inicio de las claves con números es válido, podría causar algunos problemas no intencionados.
ES DECIR:
var testObject = {
"1tile": "test value"
};
console.log(testObject.1tile); // fails, invalid syntax
console.log(testObject["1tile"]; // workaround