Como Adicionar Novas Linhas/Chaves a Um Json?

Recentemente Venho criando Vários Posts Aqui No Guj sobre Json Pois realmente acho bastante fácil Criar Sites/projetos utilizando Json , Então eu fiquei pensando se a como Adicionar Novas Linhas/Chaves a Um Json exemplo dados.json:

let User_id_1 = 
{
    "nome": "Link",
    "idade": 17,
    "cidade": "São Paulo",
    "estado": "São Paulo", 
}

ai eu queria criar um formulário que quando fosse enviado adicionasse um nova linha a o Json que seria Cor Favorita ai iria ficar assim:

let User_id_1 = 
{
    "nome": "Link",
    "idade": 17,
    "cidade": "São Paulo",
    "estado": "São Paulo", 
    "Cor Preferida": "Verde"
}

Como Faço Isso?

Só pra ser chato e pedante, vamos deixar claro que o que você tem aí não é um JSON.

JSON é apenas um formato de dados. A sigla “JSON” significa “JavaScript Object Notation” (Notação de Objeto JavaScript), e é um formato baseado/inspirado na sintaxe do JavaScript. Mas nem todo código JavaScript é um JSON válido.

Quando você faz isso:

let User_id_1 = 
{
    "nome": "Link",
    "idade": 17,
    "cidade": "São Paulo",
    "estado": "São Paulo", 
}

Na verdade está criando um objeto em JavaScript e colocando-o na variável User_id_1. Claro que a sintaxe é igual ao que um arquivo JSON teria (a única diferença é que não teria a variável):

{
    "nome": "Link",
    "idade": 17,
    "cidade": "São Paulo",
    "estado": "São Paulo", 
}

Ou seja, o texto acima é um JSON - que também é um código JavaScript válido, mas o oposto nem sempre é verdade. Por exemplo, em JavaScript eu posso ter isso:

let User_id_1 = 
{
    "nome": "Link",
    "idade": 17,
    "cidade": "São Paulo",
    "data_nascimento": new Date(1980, 1, 2),
    "algum atributo qualquer": function () { console.log('bla') }
}

Mas isso não é um JSON válido. A sintaxe do formato JSON não aceita valores como new Date(1980, 1, 2) e muito menos a function que foi definida acima. O valor só pode ser string, número, boolean, null, um array ou um objeto.

Claro que qualquer objeto pode ser convertido para JSON (desde que se transforme todos os valores para tipos válidos), mas quando você tem código JavaScript, você tem objetos, e não “um JSON”.


Dito isso, para adicionar um novo atributo a um objeto, basta fazer assim:

let User_id_1 = 
{
    "nome": "Link",
    "idade": 17,
    "cidade": "São Paulo",
    "estado": "São Paulo", 
};

User_id_1['Cor Preferida'] = 'Verde';

console.log(User_id_1); // imprima o objeto para ver o novo atributo que foi adicionado
1 curtida

@nick1, vc está criando vários posts, isso não é problema.

O problema é vc abrir o post e não dar retorno se conseguiu resolver ou não, se a resposta da pessoa te ajudou, marca como resolvida, ou ao menos agradece.

Senão, vai chegar no dia que vc vai postar alguma coisa e ninguem vai te responder, pq vc pergunta e some.


Alguns exemplos do que eu disse:




Obrigado e bons estudos.

Mais Como Salvo Isso No Servidor?

Você tem que dar mais contexto. De onde vem os dados e para onde/como vão?
Quem lê ou recebe esses dados? Quem modifica e quem envia para o servidor? O servidor grava em arquivos ou no banco? etc etc etc…

Tem trocentas formas de fazer, mas depende do que vc quer/precisa.

Quem modifica e quem envia para o servidor R:será o usuário! O servidor grava em arquivos ou no banco R:todas as Informações serão gravadas em arquivos!

Como eu já disse, tem muitas formas de fazer.

O usuário envia, mas como? Em qual formato? Ele manda o JSON inteiro, só a informação que quer adicionar? Como vc sabe qual o JSON que vai ser mudado? É um único JSON pra tudo, cada usuário tem o(s) seu(s)? etc etc etc…

De forma bem resumida, o usuário envia informação (seja lá em qual formato que vc definiu que o servidor deve receber), aí vc pega os dados, procura pelo JSON que vai ser modificado, faz as alterações e salva de volta. Toda linguagem tem funções para manipular arquivos e JSON, pesquise como é na que você está usando.

Se você não tem nada feito ainda, sugiro começar estudando primeiro como fazer para subir um servidor básico com um formulário. Depois você começa a se preocupar com salvar os dados. Um passo de cada vez, sem pular etapas, sem querer fazer tudo de uma vez.

Se você já tem algo feito, dê mais detalhes do que já tem (qual servidor/framework/linguagem, como está o formulário, algum código, etc).

Sem mais detalhes, é o que dá para sugerir (tem gente que gosta de sugerir: “use linguagem X/framework Y”, mas eu não gosto de sugerir coisas aleatórias que podem não te servir).

Obrigado Vou Estudar Mais e fazer Perguntas Melhores Que realmente Vão ajudar a mim e principalmente a outros usuários que buscam a mesma resposta!