用该数组的第一个元素替换对象中的每个数组

时间:2019-02-22 18:12:26

标签: json angular typescript

我有一个像这样的json:

   "Client" : {
        "ClientId" : "eertertwetw",
        "Username" : "c.client",
        "Names" : [
            {
                "Family" : "ClientFamilyName",
                "Given" : [
                    "ClientGivenName"
                ]
            }
        ]
    }

此json是不固定的,因此有时有一些属性,有时没有。 我需要用该数组的第一个元素替换此Json中的每个数组。因此,例如,在这种情况下,

   "Client" : {
        "ClientId" : "eertertwetw",
        "Username" : "c.client",
        "Names" :
            {
                "Family" : "ClientFamilyName",
                "Given" : 
                    "ClientGivenName"
            }
        ]
    }

有人可以帮助我找到一种使用Typescript做到这一点的方法吗?

3 个答案:

答案 0 :(得分:1)

let data = { Client: {...} }; // your data

data = data.map(client => {
    if (!Object.hasOwnProperty(client.Names, 'Prefix')) {
        client.Names.Prefix = null;
    }
    return client;
});

答案 1 :(得分:1)

好吧,我尝试了一些方法(尚未针对所有可能的情况对其进行测试),但是看来它正在起作用。

Stackblitz -检查控制台的结果。

答案 2 :(得分:0)

您需要在对象的数组中获取firt元素。

like:Client.Names[0].Given[0].ClientGivenName