如何获取 JSON 对象中包含点的属性值?

当 JSON 对象中的属性名包含一个或多个点时,我们无法直接通过对象名和属性名来访问该属性。例如:

-
  -------------- --------
  ------------- --
-

如果我们想要获得 person.name 的值,我们不能使用 person.name 这样的语法。相反,我们需要使用另一种方法来访问它。

使用方括号记法

JavaScript 允许使用方括号来访问对象属性,这个特性在处理包含点的属性名时非常有用。你可以使用以下方式来访问 person.name 的值:

----- ---- - -
  -------------- --------
  ------------- --
--

----- ---- - --------------------
------------------ -- -- -------

注意,在方括号内需要使用引号将属性名括起来。这是因为属性名包含点,所以我们需要将它们视为字符串来处理。

我们也可以通过变量来访问包含点的属性:

----- ---- - -
  -------------- --------
  ------------- --
--

----- --- - --------------
----- ---- - ----------
------------------ -- -- -------

这种方法允许我们动态地构建属性名,从而更加灵活地访问对象属性。

使用 Lodash 库

如果我们需要频繁地访问包含点的属性,那么使用 Lodash 库中的 _.get() 方法可能更加方便。_.get() 方法接受两个参数:要访问的对象和属性名,它会返回属性的值。如果属性不存在,则返回默认值。

以下是一个示例:

----- - - ------------------

----- ---- - -
  -------------- --------
  ------------- --
--

----- ---- - ----------- ---------------
------------------ -- -- -------

在这个示例中,我们首先需要安装 Lodash 库并引入它。然后,我们可以使用 _.get() 方法来获取属性值。

总结

当 JSON 对象中属性名包含点时,我们不能直接通过对象名和属性名来访问该属性。相反,我们可以使用方括号记法或者 Lodash 库中的 _.get() 方法来访问该属性的值。这两种方法都非常有用,并且可以在处理包含点的属性名时提供灵活性和方便性。

希望这篇文章能够帮助你解决你在前端开发中遇到的问题!

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/12875