web-dev-qa-db-ja.com

JSONオブジェクトNode jsの作成方法

成功せずにNode jsにJSONオブジェクトを作成しようとしています。たとえば、次のようなオブジェクトを作成するには:

{ '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'}]}

しかし、すべてのアイテムのサイズに関する知識がなくても動的な方法で。 Node jsのようなものがあります。どうもありがとうございました

25
daniel the man

あなたが探していると思うのは、オブジェクト値として配列を操作する方法です:

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);

これは標準のJavaScriptであり、NodeJS固有のものではありません。 JSON文字列にシリアル化するには、ネイティブJSON.stringifyを使用できます。

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

JavaScript Object()コンストラクターは、メンバーを割り当てることができるオブジェクトを作成します。

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

他の回答も役立ちますが、質問のJSONは無効です。以下に明確にするためにフォーマットしましたが、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 }

Javascriptでオブジェクトを操作する方法(Node JSまたはブラウザを使用しているかどうか)に関する多くの素晴らしい記事があります。ここから始めるのが良いことをお勧めします。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects

0
Timmeh