0

Webアプリケーション用のjson文字列を作成したいと思います。実際、私はこのjson形式に慣れていません.json文字列では、json構造体に2つの配列を作成する必要がありますが、2つの配列を作成する際に構文上の問題があります。参考までに、私の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文字列形式では、myには.MarkUpdateという名前の配列オブジェクトが1つ含まれています。FinalMarksしたがって、ここでは、underという名前の配列オブジェクトをもう1つ作成する必要がありEvalMarksます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',                                    
                }
                ]
            }
            ]

だから、私はこれEvalMarksを下で宣言しましたMarkUpdate。構文を逃しました...

この配列オブジェクトを。の下に追加する方法を教えてくださいMarkUpdate

この問題から抜け出すために私を導いてください...

4

2 に答える 2

4

1つのJSONオブジェクトで2つの配列を宣言するには、JSONオブジェクトは1つのオブジェクトにしかなり得ないため、配列は中括弧で囲まれている必要があります。例えば:

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

あなたの場合、問題になる前に間違いを視覚的に識別できるように、中括弧を正方形と巻き毛で適切にインデントする必要があることを覚えておくことが重要です。JSONを使用する前に、 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 に答える