Php 什么';在jSON解析中使用数组名和不使用数组名的区别是什么

Php 什么';在jSON解析中使用数组名和不使用数组名的区别是什么,php,json,arrays,Php,Json,Arrays,在jSON解析中,您可以预期的区别是什么 "questionArray": [ { "quizID": "1", "questionNumber": "1", "question": "bbbbbb", "correctAnswer": "bbb", "image": "jhhh.jpg", "animDescription": "nn

在jSON解析中,您可以预期的区别是什么

 "questionArray": [
        {
            "quizID": "1",
            "questionNumber": "1",
            "question": "bbbbbb",
            "correctAnswer": "bbb",
            "image": "jhhh.jpg",
            "animDescription": "nn",
            "option1": "nn",
            "option2": "nn",
            "option3": "nn",
            "option4": "nn"
        },


第一个本身不是有效的JSON。你可能的意思是:

{
    "questionArray": [
            {
                "quizID": "1",
                "questionNumber": "1",
                "question": "bbbbbb",
                "correctAnswer": "bbb",
                "image": "jhhh.jpg",
                "animDescription": "nn",
                "option1": "nn",
                "option2": "nn",
                "option3": "nn",
                "option4": "nn"
            },
...

这将生成一个属性为
questionArray
的对象,该属性包含一个数组,而第二个JSON字符串只生成这个数组。

不同之处是一个标识符
responseText.QuestionArray[0]。quizID
vs
responseText[0]。quizID
使用第一种方法的一个原因是某些JSON解析器在看到顶级数组时会呕吐。顶级数组是什么意思@jjm@darshfify例如,此字符串解析为一个包含单个对象的数组:
'[{“foo”:“bar”}]
,可能会中断期望对象作为根元素的解析器,如:
'{“array”:[{“foo”:“bar”}]}
{
    "questionArray": [
            {
                "quizID": "1",
                "questionNumber": "1",
                "question": "bbbbbb",
                "correctAnswer": "bbb",
                "image": "jhhh.jpg",
                "animDescription": "nn",
                "option1": "nn",
                "option2": "nn",
                "option3": "nn",
                "option4": "nn"
            },
...