2017-01-24 175 views
1

我有,我已经推值的JavaScript对象...JavaScript对象到JSON对象

var myObject = []; 
myObject.name = "Steve" 
myObject.job = "Driver" 

现在我想这些值作为JSON,即

{ "name": "Steve", "job": "Driver" } 

是这可能吗?我试图JSON字符串化,但它返回一个空的对象

+1

另外请注意,你有你的期望输出究竟是不是JSON。 JSON要求引用密钥。 – Brad

+0

@Brad固定。谢谢! – chendriksen

+2

不知道为什么有人会低估这个问题。这是一个完全有效的问题,包含示例代码,预期输出和尝试过的内容...... – Brad

回答

8

var myObject = [];应该var myObject = {};

3

首先,确保你创建一个object不是array.数组是数据的有序列表,其中作为对象是一个无序的键值对组。因此,它们的序列化程度不同。

var myObject = {}; // <-- Changed [] to {} 
myObject.name = "Steve"; 
myObject.job = "Driver"; 

// Alternatively, you can do this 
var myObject = { 
    name: 'Steve', 
    job: 'Driver' 
}; 

将它转换为JSON与调用JSON.stringify一样简单。

var myObject = { 
 
    name: 'Steve', 
 
    job: 'Driver' 
 
}; 
 

 
var json = JSON.stringify(myObject); 
 
console.log(json);