Javascript 带方括号的JSON.stringify
我有一个JS对象:Javascript 带方括号的JSON.stringify,javascript,json,stringify,Javascript,Json,Stringify,我有一个JS对象: var source = {}; source.quantity = 1; source.text = 'test'; 现在我要说: var json = JSON.stringify(source); json如下所示: {"quantity":"1","text":"test"} 我希望它是这样的: [{"quantity":"1"},{"text":"test"}] 我可以怎么做?从source JSON.stringify( Object.keys(s
var source = {};
source.quantity = 1;
source.text = 'test';
现在我要说:
var json = JSON.stringify(source);
json如下所示:
{"quantity":"1","text":"test"}
我希望它是这样的:
[{"quantity":"1"},{"text":"test"}]
我可以怎么做?从source
JSON.stringify(
Object.keys(source)
.map(
function (e) {
var o = {};
o[e] = source[e];
return o;
}
)
); // "[{"quantity":1},{"text":"test"}]"
从source
JSON.stringify(
Object.keys(source)
.map(
function (e) {
var o = {};
o[e] = source[e];
return o;
}
)
); // "[{"quantity":1},{"text":"test"}]"
我想这是不可能的,但你可以做到:
var source = {};
source.quantity = 1;
source.text = 'test';
var result = [];
for(var i in source) {
var obj = {};
obj[i] = source[i];
result.push(obj);
}
var json = JSON.stringify(result);
我希望这能对您有所帮助。我想这是不可能的,但您可以这样做:
var source = {};
source.quantity = 1;
source.text = 'test';
var result = [];
for(var i in source) {
var obj = {};
obj[i] = source[i];
result.push(obj);
}
var json = JSON.stringify(result);
我希望这能对您有所帮助。方括号表示数组。所以你所要做的就是字符串化一个数组。但是,为什么要将每个属性单独指定为它自己的对象?这似乎不是很有用。@FelixKling,因为PHP json_decode()不喜欢这样:{“数量”:“1”,“文本”:“测试”}这是胡说八道,当然
json_decode
理解有效的json:@FelixKling,当我在服务器上收到上面的json时,数据看起来是这样的:{quantity:1,text:“test”}
在json_解码后,我最终陷入了混乱:stdClass对象([[],1,[])
我在这里遗漏了什么?问题可能是我在某个地方失去了引号,因此我的有效json将不再有效。我使用SenchaExt.Ajax.request({
通过CodeIgniter的$json=$this->input->post('json');
方括号发送和接收它表示一个数组。所以您所要做的就是字符串化一个数组。但是,为什么您要将每个属性单独指定为它自己的对象?这似乎不是很有用。@FelixKling,因为PHP json_decode()不喜欢这样:{“quantity”:“1”,“text”:“test”}这是胡说八道,当然json_decode
理解有效的json:@FelixKling,当我在服务器上收到上面的json时,数据看起来是这样的:{quantity:1,text:“test”}
在json_decode之后,我得到了一个混乱:stdClass对象([],1,[]))
我错过了什么?问题可能是我在某个地方失去了引号,所以我的有效json将不再有效。我使用SenchaExt.Ajax.request({
通过CodeIgniter的$json=$this->input->post('json');
OP想要一个包含两个对象的数组(我知道!不要问我为什么)@FelixKling这是一个非常糟糕的数据结构,你必须猜测(或试图找到)键:/我的问题与json格式无关,但是这篇文章回答了最初的问题。谢谢。OP想要一个包含两个对象的数组(我知道!别问我为什么)。@FelixKling这是一个非常糟糕的数据结构,你必须猜测(或尝试查找)键:/i我的问题与json格式无关,但是这篇文章回答了最初的问题。谢谢。