Как использовать сложные вложенные свойства JSON - PullRequest
0 голосов
/ 20 сентября 2018

здесь у меня есть динамический json

data = {
  "name": "deltha",
  "type": "object",

  "important": [
    "name",
    "id",
    "number"
  ],

  "information": {
    "place": {
      "editable": false,
      "visible": true
    },
    "info": {
      "type": "object",
      "properties": {
        "type": {
          "visible": true

        }
      }
    },
    "Image": {
      "required": [
        "name"
      ],
      "type": "object",
      "properties": {
        "deltha": {
          "search": "yes"
        }
      }
    }

  }
}

здесь я пытаюсь проверить, имеет ли каждое вложенное свойство атрибут "required" или нет

для ex

data['information']["Image"]

здесь из вышеприведенного объекта у меня есть атрибут, который у меня есть "требуется", и под этим "именем" есть предположить, что как изображение, как я могу проверить каждое свойство, чтобы убедиться, что есть "требуется", если требуется там, то как можноя читаю это значение динамически

Ответы [ 3 ]

0 голосов
/ 20 сентября 2018

Я предлагаю использовать рекурсивную функцию, вот рабочий пример: stackblitz.com / edit / angular-snucnm

0 голосов
/ 20 сентября 2018

Вы можете проверить наличие недвижимости следующим образом,

if (data.information.Image.required !== undefined) {
   console.log('prop is defined')
}
0 голосов
/ 20 сентября 2018

используйте hasOwnProperty проверьте, существует свойство или нет

let obj = data['information']["Image"];

if(obj.hasOwnProperty('required')){
   console.log(obj.required)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...