【问题标题】:How to get the value from a Nested JSON object from a JSON file using Typescript?如何使用 Typescript 从 JSON 文件中获取嵌套 JSON 对象的值?
【发布时间】:2021-10-25 21:22:33
【问题描述】:

我是 Typescript 的新手。我正在尝试迭代具有段和产品的嵌套 JSON 文件。从产品价值中尝试将其存储并显示在控制台上。

JSON 文件: { “int”:{ “名称”:“内部”, “产品”: { "test": "来自动作的内部测试" } }, “tst”:{ “名称”:“测试”, “产品”: { “动作”:“测试动作” } } }

从上面的示例中,我尝试使用 value "Test Actions" 解析 JSON 并获取 key "action" 并将其存储为字符串。基本上打字稿需要遍历产品并找到 value 如果找到,然后获取 key 并将其存储在字符串中。

【问题讨论】:

  • 如果您需要遍历键和值,您可以使用Object.keys 来完成。如果您需要深入研究非本机类型的项目,则可以递归地执行此操作。您可以发布您尝试过的内容吗?
  • 我不确定如何使用它。你能举个例子吗?

标签: json typescript nested


【解决方案1】:

你可以做这样的事情来获取键和值。

const printKeyAndValue = (objVal: any) => {
  for (const key of Object.keys(objVal)){
      console.log(key);
      console.log(objVal[key]);   
  }
};

const obj = {
  'item1': 123,
  'item2': 'some string value'
};

printKeyAndValue(obj);

请注意,我提供的示例是一个仅具有原始类型且仅具有顶级属性的对象。如果您有嵌套结构,则必须进行相应处理。

【讨论】:

  • 谢谢你:)。我会尽量按照我的要求来实现。
  • 当然。祝你好运。如果对解决问题有帮助,请记得标记为答案。谢谢。
  • 下面是我得到的输出。我想要值“测试操作”并获得单独打印的关键“操作”。
  • 就像我说的那样,对于复杂的属性,您必须递归调用它,或者您可以传递该特定属性。类似printKeyAndValue(data.int.products)
猜你喜欢
  • 1970-01-01
  • 2018-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-21
  • 2020-05-10
相关资源
最近更新 更多