¿Cómo agrego un nuevo atributo (elemento) al objeto JSON usando JavaScript?Agregar nuevo atributo (elemento) al objeto JSON con JavaScript
Respuesta
JSON significa notación de objetos JavaScript. Un objeto JSON es realmente una cadena que aún no se ha convertido en el objeto que representa.
Para agregar una propiedad a un objeto existente en JS, podría hacer lo siguiente.
object["property"] = value;
o
object.property = value;
Si usted proporciona alguna información extra, como exactamente lo que tiene que hacer en su contexto es posible obtener una respuesta más personalizada.
Un objeto JSON es simplemente un objeto javascript, por lo que con Javascript es un lenguaje basado en prototipos, todo lo que tiene que hacer es abordarlo usando la notación de puntos.
mything.NewField = 'foo';
Hola, gracias por esta publicación. Quiero agregar algo que pueda ser útil.
Para IE, es bueno usar la sintaxis object["property"] = value;
porque algunas palabras especiales en IE pueden darle un error. Un ejemplo: object.class = 'value';
esto falla en IE, porque "clase" es una palabra especial. Pasé varias horas con esto ................!
var jsonObj = {
members:
{
host: "hostName",
viewers:
{
user1: "value1",
user2: "value2",
user3: "value3"
}
}
}
var i;
for(i=4; i<=8; i++){
var newUser = "user" + i;
var newValue = "value" + i;
jsonObj.members.viewers[newUser] = newValue ;
}
console.log(jsonObj);
for(var i=0;i<JsonObject.length;i++){
alert("inside forloop");
var dataArray = JsonObject[i];
alert(dataArray["data"]);
}
extend: function(){
if(arguments.length === 0){ return; }
var x = arguments.length === 1 ? this : arguments[0];
var y;
for(var i = 1, len = arguments.length; i < len; i++) {
y = arguments[i];
for(var key in y){
if(!(y[key] instanceof Function)){
x[key] = y[key];
}
}
};
return x;
}
Extiende múltiples objetos JSON (ignora funciones):
extend({obj: 'hej'}, {obj2: 'helo'}, {obj3: {objinside: 'yes'}});
resultará en un único objeto JSON
También puede agregar nuevos objetos JSON en su JSON , usando la función extend,
var newJson = $.extend({}, {my:"json"}, {other:"json"});
// result -> {my: "json", other: "json"}
Una muy buena opción para la función extender es la combinación recursiva. Simplemente agregue el valor verdadero como el primer parámetro (lea la documentación para más opciones). Ejemplo,
var newJson = $.extend(true, {}, {
my:"json",
nestedJson: {a1:1, a2:2}
}, {
other:"json",
nestedJson: {b1:1, b2:2}
});
// result -> {my: "json", other: "json", nestedJson: {a1:1, a2:2, b1:1, b2:2}}
Usos $ .extend() de jQuery, así:
token = {_token:window.Laravel.csrfToken};
data = {v1:'asdass',v2:'sdfsdf'}
dat = $.extend(token,data);
espero que les sirva.
También puede usar Object.assign
de ECMAScript 2015
. También le permite agregar atributos anidados a la vez. Por ejemplo:
const myObject = {};
Object.assign(myObject, {
firstNewAttribute: {
nestedAttribute: 'woohoo!'
}
});
Ps: Esto no anulará el objeto existente con los atributos asignados. En cambio, serán agregados. Sin embargo, si asigna un valor a un atributo existente, se invalidará.
- 1. Agregar atributo deshabilitado al elemento de entrada usando Javascript
- 2. Agregar un elemento al DOM con JavaScript
- 3. deserializar JSON al objeto JavaScript
- 4. JavaScript: agregar hijos al elemento
- 5. Cómo agregar un nuevo elemento al hash
- 6. Enlazar objeto JSON al elemento HTML
- 7. ¿Cómo agregar un nuevo objeto en JSON usando jQuery o JavaScript?
- 8. Zend Framework - Agregar nuevo elemento de entrada usando javascript
- 9. agregar algo a la parte superior de un objeto JSON
- 10. ¿Puedo agregar atributos al objeto 'ventana' en javascript?
- 11. LINQ seleccionar al nuevo objeto
- 12. Agregar un nuevo nodo al objeto XmlDocument existente
- 13. se refieren a un elemento del objeto JSON (Javascript)
- 14. Quitar elemento de objeto JSON
- 15. ¿Cómo agregar valores a un objeto JSON?
- 16. ¿Cómo puedo agregar un archivo de imagen al objeto json?
- 17. Agregar evento al botón con javascript
- 18. ¿Cómo agregar un nuevo elemento en ObjectListView?
- 19. Crear referencia al nuevo objeto
- 20. Añadir nuevo elemento a un objeto existente
- 21. atributo asignación al objeto incorporado
- 22. Agregar un atributo a un elemento JAXB
- 23. JavaScript - Creando el objeto JSON
- 24. objeto Analizar JSON en JavaScript
- 25. Agregar atributo virtual a la salida de json
- 26. ¿Cómo agregar un atributo al nodo Nokogiri?
- 27. VS2005 Cuadro de diálogo "Agregar nuevo elemento ...": elemento predeterminado
- 28. Php: ¿Paréntesis al crear un objeto nuevo?
- 29. Agregar atributo a un objeto en PHP
- 30. Cadena JSON al objeto JS
es esto posible entonces: objeto ["propiedad"] ["subProperty"] ... eso sería increíble. Acabo de intentarlo. var a.s = "qué"; como.d = "nope"; No está definido :( – shanehoban
@shanehoban aquí 'a' es JSON,' as' como acaba de definir es una cadena. Ahora intenta agregar '[" subproperty "]' a una cadena. ¿Entiende ahora por qué? ¿Recibió el error? – shivam
@shivam Sí, muchas gracias! – shanehoban