Javascript 如何创建JSON对象Node.js

Javascript 如何创建JSON对象Node.js,javascript,node.js,json,Javascript,Node.js,Json,我试图在Node.js中创建一个JSON对象,但没有成功。 例如,像这样的对象: { 'Orientation Sensor': [ { sampleTime: '1450632410296', data: '76.36731:3.4651554:0.5665419' }, { sampleTime: '1450632410296', data: '78.15431:0.5247617:-0.20050584' } ], 'Screen Orie

我试图在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中是否有类似的内容?

JavaScript
Object()
构造函数生成一个对象,您可以为其分配成员

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

我相信您正在寻找一种将数组用作对象值的方法:

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

其他答案很有帮助,但问题中的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还是浏览器),有很多很棒的文章。我建议从这里开始:

您有没有其他代码可以展示您现在的尝试方式?没有“JSON”-对象,您是什么意思?我没有投反对票,但不清楚问题到底是问什么谢谢,我对Java脚本不太熟悉。我会很有帮助的:]我只是想补充一下,因为这个答案似乎仍然会不时引起注意,一个惯用的将对象中不存在的键初始化为空数组的单行程序是
o[key]=o[key]|【】
,也就是说,如果它是假的话,则将其设置为等于自身或空数组。由于短路,
|
运算符将返回最后一个真实值。