目标:我想访问对象名称并将其存储在变量中

时间:2018-07-18 09:41:12

标签: jquery html json ajax api

请帮助我,我陷入了困境,我正在尝试使用$.ajax()访问此JSON,现在这是我的问题,我想在表标题上显示对象名称。我可以访问最后一个对象的键/值对,但是如何访问该对象的名称。这是我的JSON文件

[
    {
        "Person1": [{
            "test": {
                "name": "abhi",
                "age": "text"
            }
        },
        {
            "Person2": {
                "name": "akash",
                "age": "test-1"
            }
        }]
    },
    {
        "Test1": [{
            "text": {
                "name": "abhi",
                "age": "text"
            }
        },
        {
            "text-2": {
                "name": "akash",
                "age": "test-2"
            }
        }]
    }
]

我在浏览器中需要类似Heading : Person1Heading2 : test的内容。我只想将Person1test存储在变量中,以便可以在表中显示。

如果您想要完整的代码,我会对其进行更新。

3 个答案:

答案 0 :(得分:0)

Ajax在成功请求后回叫以获得结果,您可以尝试例如:

 $.ajax({
    url:"your url here",
    methods:"your method here[GET|POST]",
   success(data){// this is the callback that called when the call succeeded

    console.log(data.Person1)  


          // you can use object destruction as well 

        let{Person1,Test1,Person2,text}=data
           console.log(Person1)
           console.log(Test1)
           console.log(text)

        }


    })

答案 1 :(得分:0)

据我了解,您想通过ajax调用来解析JSON数据。 请尝试以下操作,并获得ajax调用的结果:

list[0]
list[0]["Person1"]                   #{"test": { "name": "abhi","age": "text" }}
list[0]["Person1"]["test"]           #{ "name": "abhi","age": "text" }
list[0]["Person1"]["test"]["name"]   #abhi

请确保提供有关您的问题和尝试过的内容的更多数据。干杯!

答案 2 :(得分:0)

这假定您将json作为对象使用JSON.parse获取数组。

var words = json.map(item => Object.keys(item)[0]);

这应该为您提供数组中第一级对象的属性名称的列表。

说明:

您拥有的是一组具有一个属性的对象数组,每个属性又包含更多数据。

您的代码所做的是将其映射到数组,使用Object.keys获取对象的所有属性键,然后选择第一个。

这将无法从对象中找到多个属性,并且如果您有空对象,则会失败。

这是您要找的吗?