【问题标题】:How to get nested json with dynamic value如何获取具有动态值的嵌套json
【发布时间】:2020-09-08 03:18:41
【问题描述】:

我想访问带有输入值的 json。

我的函数和json

 import pet3 from '../../utils/pet3' //my json file
 const getValueFromJson = (value) => {

 const data = pet3
 console.log(data.components) //it works fine
 console.log(data.value) // it is undefined              
 }
 getValueFromJson("components")

【问题讨论】:

标签: json reactjs


【解决方案1】:

您可以使用方括号动态访问对象键:

import pet3 from "../../utils/pet3"; //my json file
const getValueFromJson = (value) => {
  const data = pet3;
  console.log(data[value]);
};
getValueFromJson("components");

编辑:

或者,您可以安装和使用像 lodash 这样的第三方库,它提供了可以像这样使用的 _.get() 方法:

import get from "lodash/get"; // if not installed, run `npm install lodash --save-dev`

const getValueFromJson = (value) => {
  const data = pet3;
  console.log(get(data, value, "default value")); /* returns "default value" if key is undefined. */
};
getValueFromJson("components.filename");

【讨论】:

  • İ如果该值类似于“components.filename”,则它是未定义的。
  • 你可以使用lodash的get方法。让我知道更新的答案是否有帮助
  • 这个答案对我帮助很大,而且我在这个问题中找到了解决方案stackoverflow.com/questions/37510640/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-14
  • 2019-11-23
  • 1970-01-01
  • 2020-06-16
  • 1970-01-01
  • 2019-07-15
  • 2021-02-11
相关资源
最近更新 更多