我想提出一些JSON到我的web应用程序,我想JSON是这样的:Javascript数组转换成JSON对象,而不是阵列
{
"thing1" :
{
"something" : "hello"
},
"list_of_things" :
[
{
"item1" : "hello"
},
{
"item2" : "hello"
}
]
}
这里我有一个JSON对象和JSON数组包含JSON对象。当我创建JavaScript提交数据怎么办:
form = {
"thing1" : {
"something" : somethingVariable
},
"list_of_things" : listArray
}
这里listArray'是的Javascript哈希对象的JavaScript数组对象。我这个使用jQuery的Ajax方法,但提交的,而不是JavaScript数组显示为JSON阵列需要的话将其转换为一系列的JSON对象是这样的:
{ "1" : { "thing1" : "something" }, "2" : { "thing2" : "something" }...
我怎样才能获得阵列所要提交一个数组,而而不是转换成一系列以数组索引为关键字的JSON对象?
EDIT#1: 'listArray' 是像这样定义的简单Javascript数组:
var listArray = new Array();
listArray.push({ "thing1" : "something" });
listArray.push({ "thing2" : "something" });
EDIT#2: '形式' 被发送到服务器以下列调用:
$.ajax({
type: 'POST',
url: '/url',
dataType: "json",
data: form,
success: function(data) {
/* success code here */
}
});
请告诉我们'listArray'是什么,它是如何定义的? –
(*强制SO巨魔响应*)没有这样的东西作为JSON对象,JSON是符号规范。您正在创建JavaScript对象文字。 – jondavidjohn
@jondavidjohn:实际上在这种情况下,术语是正确的。当然,在JSON中有可以称为JSON对象的对象。将JS对象称为JSON对象是错误的,但是如果仔细阅读,那么OP不会那么做(尽管它可以用更清晰的方式书写)。 –