如果多个键具有确切名称,如何访问JSON值?

时间:2019-03-20 03:30:40

标签: json

假设我有JSON,如:

let myJSON = {
      "id" : 001,
      "firstName" : "John",
      "firstName" : "Jane", 
      "lastName" : "Doe"
    }

如果我调用myJSON.firstname,它将返回“ Jane”。我的问题是,如何获取数据“ John”而不是“ Jane”?

2 个答案:

答案 0 :(得分:2)

第二个firstname覆盖第一个。因此,一旦您将其声明或分配给变量,您将一无所获,因为它已被覆盖。您可以在开发人员工具中尝试一下,然后看到该键只有一对键/值对。另请参阅我的屏幕截图,演示:

enter image description here

如果从其他地方通过字符串获取对象,则有可能过滤掉那些重复项或创建一个数组而不是重复项。但是我认为这不是最初的问题。这不是严格禁止的,但是我想您甚至想都认为它不是有效的JSON。为什么要实现这一目标,或者它来自何处?

答案 1 :(得分:1)

不,你不知道。 JavaScript对象不允许具有相同名称的属性。

您应该从API端更改属性名称。