2017-09-05 71 views
0

我奋力确定JSON简单的问卷结构
所以测试可以有多个部分,
每个部分可以在多个子段 每个子部分必须有一个或多个问题
我检查语法使用JSONLint ,但显然我不能对同一个对象使用两次相同的元素(sub_section,ot question)。这就是我得到:JSON问卷结构

SyntaxError: Duplicate key 'question' on line 13 

这是我创建的JSON:

"test_sections": [{ 
"section": [{ 
    "identifier": "section1", 
    "caption": "translate.section1", 
    "sub_section": [{ 
     "identifier": "sub_section1", 
     "caption": "translate.section1.sub_section1", 
     "question": { 
      "identifier": "question1", 
      "caption": "translate.section1.sub_section1.question1", 
      "question": "How are you?" 
     }, 
     "question": { 
      "identifier": "question1", 
      "caption": "translate.section1.sub_section1.question1", 
      "question": "How are you?" 
     } 
    }], 
    "sub_section": [{ 
     "identifier": "sub_section2", 
     "caption": "translate.section1.sub_section2", 
     "question": { 
      "identifier": "question2", 
      "caption": "translate.section1.sub_section2.question2", 
      "question": "How is your day?" 
     } 
    }] 
}], 
"section": [{ 
    "identifier": "section2", 
    "caption": "translate.section2", 
    "sub_section": [{ 
     "identifier": "sub_section1", 
     "caption": "translate.section2.sub_section1", 
     "question": { 
      "identifier": "question1", 
      "caption": "translate.section2.sub_section1.question1", 
      "question": "What is the time now?" 
     } 
    }], 
    "sub_section": [{ 
     "identifier": "sub_section2", 
     "caption": "translate.section2.sub_section2", 
     "question": { 
      "identifier": "question2", 
      "caption": "translate.section2.sub_section2.question2", 
      "question": "What is your favorite pet?" 
     } 
    }] 
}] 

}]

+1

第一个“小节”有两个'question'属性 – Vivick

回答

1

而不是重复相同的密钥,名称作为复数的钥匙,并给予它是一个数组作为值:

{ 
    "test_sections": [{ 
     "identifier": "section1", 
     "caption": "translate.section1", 
     "sub_sections": [{ 
      "identifier": "sub_section1", 
      "caption": "translate.section1.sub_section1", 
      "questions": [{ 
       "identifier": "question1", 
       "caption": "translate.section1.sub_section1.question1", 
       "question": "How are you?" 
      }, { 
       "identifier": "question1", 
       "caption": "translate.section1.sub_section1.question1", 
       "question": "How are you?" 
      }] 
     }, { 
      "identifier": "sub_section2", 
      "caption": "translate.section1.sub_section2", 
      "questions": [{ 
       "identifier": "question2", 
       "caption": "translate.section1.sub_section2.question2", 
       "question": "How is your day?" 
      }] 
     }] 
    }, { 
     "identifier": "section2", 
     "caption": "translate.section2", 
     "sub_sections": [{ 
      "identifier": "sub_section1", 
      "caption": "translate.section2.sub_section1", 
      "questions": [{ 
       "identifier": "question1", 
       "caption": "translate.section2.sub_section1.question1", 
       "question": "What is the time now?" 
      }] 
     }, { 
      "identifier": "sub_section2", 
      "caption": "translate.section2.sub_section2", 
      "questions": [{ 
       "identifier": "question2", 
       "caption": "translate.section2.sub_section2.question2", 
       "question": "What is your favorite pet?" 
      }] 
     }] 
    }] 
} 
+0

我知道了,所以属性名称不能应用程序耳朵两次(像sub_section)很棒,谢谢! – user648026