Maison > Questions et réponses > le corps du texte
J'ai ce JSON dans le fichier :
{ "user1": { "id": 1, "nVote": 0, "comment": "" } }
Je souhaite ajouter un objet user2 avec les mêmes paramètres et valeurs correspondantes.
function json2Array(json) { var result = []; var keys = Object.keys(json); keys.forEach(function (key) { result.push(json[key]); }); return result; } const fs = require('fs'); const obj = JSON.parse(fs.readFileSync('./datei.json', 'utf8')); const arObj = json2Array(obj); let user = []; user['user2'] = { "id": 2, "nVote": 1, "comment": 'test' }; arObj.push(user);
Résultat :
[ { id: 1, nVote: 0, comment: '' }, [ user2: { id: 2, nVote: 1, comment: 'test' } ] ]
Mais je veux finir avec ce résultat :
{ "user1": { id: 1, nVote: 0, comment: '' }, "user2": { id: 2, nVote: 1, comment: 'test' } }
P粉9044059412024-02-04 15:15:16
Tout ce que vous avez à faire est de traiter l'objet json comme un tableau
Simple
Pensez-y
[
{user1:{"id":2,"nVote":1,...}}
{user2:{"id":2,"nVote":1,...}}
]
Alors
const obj = [] obj.push({user1:{id:2,nVote:2}) obj.push(({user2:{id:3,nVote:1})
C'est ce dont vous avez besoin, vous pouvez ensuite utiliser fs pour l'extraire dans un fichier json pour le stockage
P粉5369091862024-02-04 11:46:41
Si le résultat souhaité est un objet, il n'est pas nécessaire de le convertir en tableau. Ajoutez simplement une propriété à l'objet.
const obj = JSON.parse(fs.readFileSync('./datei.json', 'utf8')); obj['user2'] = { "id": 2, "nVote": 1, "comment": 'test' };