Javascript 如何创建JSON对象Node.js
我试图在Node.js中创建一个JSON对象,但没有成功。 例如,像这样的对象: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
{ '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]|【】
,也就是说,如果它是假的话,则将其设置为等于自身或空数组。由于短路,|
运算符将返回最后一个真实值。