extjs 如何避免json字符串中的额外嵌套

vc6uscn9  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(135)

我尝试根据wikipedia中的语法创建json字符串。我使用以下代码创建了json字符串:

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,生成的。

q3aa0525

q3aa05251#

您使用的是data变量的列表。这就是为什么您在JSON主体的开头和结尾使用括号的原因。为了克服这个问题,您可以在data变量中声明整个JSON主体,如下所示:

data = {
  "firstname": "test",
  (...)
  "address": [{
    "streetAddress": "test"
    (...)
  }]
}

相关问题