0

我想为我的 Web 应用程序创建一个 json 字符串。实际上我是这种 json 格式的新手。在我的 json 字符串中,我必须在我的 json 结构中创建两个数组。但是我在创建两个数组时遇到了一些语法问题。下面给出了我的 json 字符串供您参考。

{
    MarkUpdate:[
        {
            'FinalMarks':[
            {
                'studentId':'S1',
                'Ques_Mark':[
                {
                    'qId' :'Q1',
                    'mark':'14',                
                },
                {
                    'qId':'Q2',
                    'mark':'10',                
                }
                ]
            },          
            {
                'studentId':'S2',
                'Ques_Mark':[
                {
                    'qId' :'Q1',
                    'mark':'12',                
                },
                {
                    'qId':'Q2',
                    'mark':'13',                
                }               
                ]
            }
            ]
        }           
        ]
    }

在我上面的 json 字符串格式中,我MarkUpdate包含一个名为的数组对象FinalMarks。所以,在这里我必须再创建一个名为EvalMarksunder 的数组对象MarkUpdate

实际上我的EvalMarks包含以下元素...

'EvalMarks':[
            {
                'EvalId':'E1',
                'Ques_Mark':[
                {
                    'qId'   :'Q1',
                    'studId':'S1',  
                    'mark':'13',                
                },
                {
                    'qId':'Q2',
                    'studId':'S1',  
                    'mark':'13',                                    
                }                   
                ]
            },

            {
                'EvalId':'E2',
                'Ques_Mark':[
                {
                    'qId'   :'Q1',
                    'studId':'S2',  
                    'mark':'10',                
                },
                {
                    'qId':'Q2',
                    'studId':'S2',  
                    'mark':'10',                                    
                }
                ]
            }
            ]

所以,我已经EvalMarksMarkUpdate.I 下声明了这个语法......

你能告诉我如何在MarkUpdate.

指导我摆脱这个问题......

4

2 回答 2

4

要在一个 JSON 对象中声明两个数组,请记住 JSON 对象只能是一个对象,因此该数组必须在封闭的花括号内。例如:

{
  "array1":[1,2,3],
  "array2":["jim","louise","mark"]
}

对于你的情况,重要的是要记住你应该正确地缩进你的括号,方形和卷曲,这样你就可以在错误成为问题之前直观地识别错误。我强烈建议http://jslint.com/在使用它之前验证您的 JSON。它也适用于 Javascript:

{
    "MarkUpdate":[
        {
            "FinalMarks":[
                {
                    "studentId":"S1",
                    "Ques_Mark":[
                        {
                            "qId" :"Q1",
                            "mark":"14"
                        },
                        {
                            "qId":"Q2",
                            "mark":"10"
                        }
                    ]
                },
                {
                    "studentId":"S2",
                    "Ques_Mark":[
                        {
                            "qId" :"Q1",
                            "mark":"12"
                        },
                        {
                            "qId":"Q2",
                            "mark":"13"
                        }
                    ]
                }
            ]
        }
    ],
    "EvalMarks":[
        {
            "EvalId":"E1",
            "Ques_Mark":[
                {
                    "qId"   :"Q1",
                    "studId":"S1",
                    "mark":"13"
                },
                {
                    "qId":"Q2",
                    "studId":"S1",
                    "mark":"13"
                }
            ]
        },

        {
            "EvalId":"E2",
            "Ques_Mark":[
                {
                    "qId"   :"Q1",
                    "studId":"S2",
                    "mark":"10"
                },
                {
                    "qId":"Q2",
                    "studId":"S2",
                    "mark":"10"
                }
            ]
        }
    ]
}
于 2013-02-06T06:19:47.303 回答
0

如果对象中最后一个键值对后面有逗号,则它不是有效的 JSON。我将首先在大多数对象中的最后一个键值对之后删除所有那些不必要的逗号,并验证 www.jslint.com 中的 JSON

为了更清楚,

{
    "qId":"Q2",
    "studId":"S2",  
    "mark":"10",                                    
}

无效。另一方面,

{
    "qId":"Q2",
    "studId":"S2",  
    "mark":"10"                                   
}

已验证。

于 2013-02-06T06:18:43.277 回答