2015-08-01 4 views
0

Я пытаюсь создать Json, в котором вопрос имеет значение, параметр, а также содержит несколько вопросов. и эти вспомогательные вопросы могут также содержать несколько вопросов.Неожиданное поведение Json

вот моя Json строка

{ 
    "Questions": { 
    "question": { 
     "Value": " Quest 1", 
     "Option": " Quest 1 Option", 
     "question": { 
     "Value": " Quest 2", 
     "Option": " Quest 2 Option" 
     }, 
     "question": { 
     "Value": " Quest 3", 
     "Option": " Quest 3 Option", 
     "question": { 
      "Value": " Quest 4", 
      "Option": " Quest 4 Option", 
      "question": { 
      "Value": " Quest 5", 
      "Option": " Quest 5 Option" 
      }, 
      "question": { 
      "Value": " Quest 6", 
      "Option": " Quest 6 Option" 
      } 
     } 
     } 
    } 
    } 
} 

Но когда я пытаюсь увидеть в Json просмотра, Ques 2 и Ques 5 отсутствует. Что я здесь делаю неправильно?

+0

привет, дайте нам больше контекста ... что такое «json viewer»? какую структуру вы ожидаете? – jperelli

+0

У меня есть вставка Этот json здесь [Json viewer] (http://jsonviewer.stack.hu/) – Programmer

ответ

0

Ваш JSON показывает, как действует здесь, хотя я думаю, что ваша структура не совсем то, что вы хотели:

http://jsonformatter.curiousconcept.com/

Вы могли бы рассмотреть вопрос о внесении «Вопросы» массив объектов, просто кажется, это было бы немного чище.

Например, я считаю, это гораздо более удобным для чтения:

{ 
    "Questions": [ 
     { 
      "Value": " Quest 1", 
      "Option": " Quest 1 Option", 
      "questions": [ 
       { 
        "Value": " Quest 2", 
        "Option": " Quest 2 Option" 
       } 
      ] 
     },   
     { 
      "Value": " Quest 3", 
      "Option": " Quest 3 Option", 
      "questions": [ 
       { 
        "Value": " Quest 4", 
        "Option": " Quest 4 Option", 
        "questions": [ 
         { 
          "Value": " Quest 5", 
          "Option": " Quest 5 Option" 
         } 
        ] 
       }, 
       { 
        "Value": " Quest 6", 
        "Option": " Quest 6 Option" 
       } 
      ] 
     } 
    ] 
} 
+0

Привет. спасибо за Ваш ответ. Теперь у меня другая проблема. Как читать этот Json, поскольку он может любой уровень детей См. Json [My Json] (http://codebeautify.org/jsonviewer/50fa6d). Как использовать цикл '.each', чтобы я мог прочитать этот json. – Programmer

+0

Вам нужно будет использовать вызов рекурсивной функции для повторения каждого уровня – Lochemage

0

Я думаю, что вы ищете синтаксис массива, например:

{"Questions":[ 
    {"question":{"Value":" Quest 1 "}}, 
    {"question":{"Value":" Quest 2 "}} 
]} 

Примечания квадратных скобок, указывающие на массив.

0

У вас есть несколько ключей на одном объекте ...

есть два каждые из них:
Questions.question.question и
Questions.question.question.question

Объекта является как словарь, в каждом объекте может быть только один уникальный ключ. Возможно, вам захочется использовать массивы.

+0

@Locgemage: теперь я использую массив, но теперь не могу прочитать этот json. [My Json] (http://codebeautify.org/jsonviewer/50fa6d). Как читать этот Json. – Programmer

+0

Я не уверен, что понимаю ваш вопрос, согласно вашей ссылке, это действительно json. Это прекрасно читается. – Lochemage

+0

Никогда не смотрю, я вижу ваш комментарий к другому ответу. – Lochemage

Смежные вопросы