json - 如何正确创建json数组

时间:2013-01-29 03:59:50

标签: javascript jquery json

我是JSON的新手,我必须处理一个复杂的问题。

请参阅下图:

enter image description here

它有一个错误:

enter image description here

我不知道如何正确分离2个json数组。我甚至尝试在第18行使用:代替,,但我仍然遇到错误。顺便说一句,我使用http://jsonlint.com/来验证。

6 个答案:

答案 0 :(得分:3)

在第2行,您提供了一个密钥,但未能在第19行上执行此操作。您必须保留结构。

删除第2行的密钥,它们不应该以这种方式用于数组。

编辑:此外,您正尝试将数组放在对象中,使用([])切换第一行和最后一行上的数组的开始和结束对象标记({})。

答案 1 :(得分:1)

[
  [
    {...},
    {...},
    ...
    {...}
  ],
  [
    {...},
    {...},
    ...
    {...}
  ],
  ...
  [
    {...},
    {...},
    ...
    {...}
  ]
]

答案 2 :(得分:1)

我认为构建这个JSON的正确方法应该是:

{
  "glEntries": [
    {
        "generalLedgerId":1,
        "accountId": 34,
        "amount" : 32334.23,
        "descripction": "desc1",
        "debit" : "Yes"
    },
    {
       "generalLedgerId":2,
        "accountId": 35,
        "amount" : 323.23,
        "descripction": "desc",
        "debit" : "Yes"
    },
    ...
 ]
}

答案 3 :(得分:1)

构建JSON数据的方法有很多种,但这取决于您的数据以及您想要呈现它的方式。以下是几个例子 - 希望它有所帮助:

{
    "glEntries": [
        {
            "object1-prop1": "one"
        },
        {
            "object2-prop1": 1,
            "object2-prop2": "two"
        },
        {
            "object3-prop1": [
                "a",
                "r",
                "r",
                "a",
                "y"
            ],
            "object3-prop1.1": "string"
        }
    ],
    "otherEntries": [
        {
            "objectx": "x"
        },
        {
            "objecty": "y"
        },
        {
            "objectz": [
                1,
                2,
                3,
                4
            ]
        }
    ],
    "oneEntry": "json"
}

其他例子:

[
    {
        "obj1-prop": 222
    },
    {
        "obj2-prop": "object2"
    },
    {
        "obj3-prop": "Object3"
    },
    [
        "a",
        "r",
        "r",
        "a",
        "y",
        777,
        888
    ],
    "string",
    178,
    {
        "objectProp": "testing123"
    }
]

答案 4 :(得分:1)

您的{}比需要的更多,并且会使您的JSON解析变得更加困难:

结构会像这样工作得更好:

{"glentries":[

    { "property1":"value", "property2" : "value",.....  "lastProperty": "value"},
    { "property1":"value", "property2" : "value",.....  "lastProperty": "value"},
    { "property1":"value", "property2" : "value",.....  "lastProperty": "value"}

 ]
}

现在,glentries是一个对象数组,它们具有多个属性。

 alert( glentries[0].property2 )

答案 5 :(得分:0)

父结构是一个Object,所以它期望第二个数组的字符串Key。它应该是一个数组数组,你应该使用数组而不是Object。