如何动态地从 angular 6 中的嵌套 json 对象中获取值?

How to fetch value from nested json objects in angular 6 dynamically?

我想访问包含多个嵌套对象的 json 文件中的数据,我想动态地打印它们而不考虑其中的数据是什么。我想在里面动态打印键值。

我的json

 {
  "name" : "abc",
  "tags" : "def",
  "updated-by" : "ijk",
  "property" : {
    "description" : "abcd",
    "type" : "string"
  },
  "sources" : {
    "input" : {
      "type" : "lmn",
      "properties" : {
        "key" : "opq"
      }
    }
  }
}

如果我的键包含对象,那么它应该进入该对象,然后打印它的值,但如果它也是另一个对象,那么它也应该进入该对象,然后打印它的键 value.It 应该动态循环.代码必须在 angular 4 或 above.If 任何人都可以提供帮助。

JSON.stringify(jsonObject) 方法已涵盖您正在寻找的行为。

您还可以控制间距和 pretty print the JSON

你可以使用递归函数。


<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre><code>const myObj = {
  "name" : "abc",
  "tags" : "def",
  "updated-by" : "ijk",
  "property" : {
    "description" : "abcd",
    "type" : "string"
  },
  "sources" : {
    "input" : {
      "type" : "lmn",
      "properties" : {
        "key" : "opq"
      }
    }
  }
}

function checkNested(obj) {
    for (let prop in obj) {        
        if (obj.hasOwnProperty(prop)) {
            if (typeof obj[prop] == "object"){
                console.log(`Key: ${prop}`)
                checkNested(obj[prop]);
            } else {
              console.log(`Key: ${prop} 'value: ${obj[prop]}`)
            }
        }
    }
}


checkNested(myObj)