如何避免json字符串中的额外嵌套
我试图根据中的语法创建json字符串。我使用以下代码创建了json字符串:如何避免json字符串中的额外嵌套,json,extjs,Json,Extjs,我试图根据中的语法创建json字符串。我使用以下代码创建了json字符串: var data = []; data.push( { "firstName": "John", "lastName": "Smith", "isAlive&quo
var data = [];
data.push(
{
"firstName": "John",
"lastName": "Smith",
"isAlive": true,
"age": 27,
});
var addressdata = [];
addressdata.push(
{
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": "10021-3100"
});
data.push(
{
"address" : addressdata
}
);
该字符串是正确的json字符串。然而,json结构包含一些不必要的嵌套,如下面的图1和图2所示。更准确地说,地址块有多余的大括号,字符串也用括号而不是大括号括起来。那么,我做错了什么?如何避免这种不必要的嵌套并获得如图3所示的结构
图1
图2
图3
字符串是在Ajax请求中使用
jsonData:data,
生成的。您使用的是数据变量的列表。这就是为什么JSON正文的开头和结尾都有括号。要解决此问题,您可以在数据
变量中声明整个JSON主体,如下所示:
data = {
"firstname": "test",
(...)
"address": [{
"streetAddress": "test"
(...)
}]
}