Javascript 从输出中隐藏属性名称

Javascript 从输出中隐藏属性名称,javascript,node.js,typescript,api,Javascript,Node.js,Typescript,Api,我有一个返回数据的函数。此数据来自具有属性名称的接口。输出具有属性名称。如果可能的话,我想避免这种情况 我该怎么做 接口: export interface DataNode { id?: number, type?: string, parentId?: number, data?: any, children?: DataNode[], buildings?: DataNode[], areas?: DataNode[], ro

我有一个返回数据的函数。此数据来自具有属性名称的接口。输出具有属性名称。如果可能的话,我想避免这种情况

我该怎么做

接口:

export interface DataNode {
    id?: number,
    type?: string,
    parentId?: number,
    data?: any,
    children?: DataNode[],
    buildings?: DataNode[],
    areas?: DataNode[],
    rooms?: DataNode[],
    flags?: DataNode[],
    details?: DataNode[]
};
创建输出的代码:

export const fromCity = async (
    city: entities.City,
    depth: "none" | "immediate" | "full"
): Promise<DataNode> => {
    return {
        id: city.id,
        type: "City",
        data: {
            name: city.name,
            title: city.title,
            // created: city.created,
            // updatedAt: city.updatedAt
        },
        buildings: depth !== "none" ?
            await mapChildren((building: entities.Building): Promise<DataNode> => {
                building.city = building.city || Promise.resolve(city);
                return fromBuilding(
                    building,
                    depth === "immediate" ? "none" : depth
                );
            })(await (city.buildings || Promise.resolve([]))) : []
    };
};
我希望从API中得到什么:

            "id": 1,
                "type": "Building",
                "parentId": 1,
                {
                    "name": "data-center",
                    "title": "Data Center",
                    "subtitle": "Secure Data Center and Cloud NOC",
                    "x": "11.30",
                    "y": "41.50"
注意
“数据”的消失:
。这就是我想要隐藏的


有没有一种简单的方法告诉我们“不要返回这个属性名,只返回它的值”

对象的键必须是字符串。因此,最接近所需输出的方法是将
键命名为“data”
一个空字符串
Javascript不允许这样做。在没有键的情况下,不能有一个值来访问它,否则对象将无法访问该数据。您所能做的是让它用数组输出:

[
{
“id”:1,
“类型”:“建筑物”
“家长ID”:1
},
{
“名称”:“数据中心”,
“标题”:“数据中心”,
“副标题”:“安全的数据中心和云国家奥委会”,
“x”:“11.30”,
“y”:“41.50”,
}
]
然后,您可以从中访问数据

JSON.parse(JSONresponse[1]);

虽然这样做可行,但它会破坏另一个代码,我必须引用同一个键,并且我不能使用“”来引用它。您可以使用
object[“”]
来引用空键。我不需要实际使用未设置键的值,我只需要在输出时隐藏它。如果这不可行,那么我将不得不尝试其他选项,比如如您所说的解析输出。
            "id": 1,
                "type": "Building",
                "parentId": 1,
                {
                    "name": "data-center",
                    "title": "Data Center",
                    "subtitle": "Secure Data Center and Cloud NOC",
                    "x": "11.30",
                    "y": "41.50"