web-dev-qa-db-fra.com

comment créer un objet JSON Node js

j'essaie de créer un objet JSON dans Node js sans aucun succès . Par exemple, pour créer un objet comme: 

{ 'Orientation Sensor': 
   [ { sampleTime: '1450632410296',
       data: '76.36731:3.4651554:0.5665419' },
     { sampleTime: '1450632410296',
       data: '78.15431:0.5247617:-0.20050584' } ],
  'Screen Orientation Sensor': 
   [ { sampleTime: '1450632410296',
       data: '255.0:-1.0:0.0' } ],
  'MPU6500 Gyroscope sensor UnCalibrated': 
   [ { sampleTime: '1450632410296',
       data: '-0.05006743:-0.013848438:-0.0063915867},
     { sampleTime: '1450632410296',
       data: '-0.051132694:-0.0127831735:-0.003325345'}]}

mais de manière dynamique, sans aucune connaissance de la taille de chaque élément ... est-ce qu'il en est ainsi pour Node js ..., merci 

14
daniel the man

Je pense que vous cherchez une façon de travailler avec des tableaux en tant que valeurs d'objet:

var o = {} // empty Object
var key = 'Orientation Sensor';
o[key] = []; // empty Array, which you can Push() values into


var data = {
    sampleTime: '1450632410296',
    data: '76.36731:3.4651554:0.5665419'
};
var data2 = {
    sampleTime: '1450632410296',
    data: '78.15431:0.5247617:-0.20050584'
};
o[key].Push(data);
o[key].Push(data2);

Ceci est du code JavaScript standard et non quelque chose de spécifique à NodeJS. Pour le sérialiser sur une chaîne JSON, vous pouvez utiliser le JSON.stringify natif:

JSON.stringify(o);
//> '{"Orientation Sensor":[{"sampleTime":"1450632410296","data":"76.36731:3.4651554:0.5665419"},{"sampleTime":"1450632410296","data":"78.15431:0.5247617:-0.20050584"}]}'
37
paolobueno

Le constructeur JavaScript Object() crée un objet auquel vous pouvez affecter des membres.

myObj = new Object()
myObj.key = value;
myObj[key2] = value2;   // Alternative
6
Dylan Kirkby

Les autres réponses sont utiles, mais le JSON de votre question n'est pas valide. Je l’ai formaté pour le rendre plus clair ci-dessous. Notez la citation unique manquante à la ligne 24.

  1 {
  2     'Orientation Sensor':
  3     [
  4         {
  5             sampleTime: '1450632410296',
  6             data: '76.36731:3.4651554:0.5665419'
  7         },
  8         {
  9             sampleTime: '1450632410296',
 10             data: '78.15431:0.5247617:-0.20050584'
 11         }
 12     ],
 13     'Screen Orientation Sensor':
 14     [
 15         {
 16             sampleTime: '1450632410296',
 17             data: '255.0:-1.0:0.0'
 18         }
 19     ],
 20     'MPU6500 Gyroscope sensor UnCalibrated':
 21     [
 22         {
 23             sampleTime: '1450632410296',
 24             data: '-0.05006743:-0.013848438:-0.0063915867
 25         },
 26         {
 27             sampleTime: '1450632410296',
 28             data: '-0.051132694:-0.0127831735:-0.003325345'
 29         }
 30     ]
 31 }

Il existe de nombreux articles intéressants sur la manipulation d'objets en Javascript (que vous utilisiez Node JS ou un navigateur). Je suggère que voici un bon point de départ: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects

0
Timmeh