首页 > 解决方案 > 获取等于局部变量的 JSON 的值

问题描述

我在 Typescript 中有一个函数,它存储一个变量,该变量包含一个等于本地 JSON 文件属性的字符串。

我想知道如何从本地 JSON 文件中获取具有相同名称的属性值。

这是我的本地 JSON 文件:

{ 
    "asse": {
        "driveId": "0AcUk9PVA",
        "folderId": "1ouono5dPyhxZPmU",
        "file": {
            "CO": "fileIdCo",
            "ES": "fileIdEs",
            "AR": "fileIdAr",
            "MX": "fileIdMx",
            "fileRange": "Ser, Work"
        }
    }

}

这是我当前的代码,但我无法在我的 JSON 中访问该属性:

import * as getProperty from '../properties.json'

    function getIdSheet() {

        let country = 'CO'

        let id = getProperty.asse.file.country;

    }

这向我显示国家属性不存在的错误,我不知道如何将该变量用作 JSON 属性

这就是我想要得到的:

let id = 'fileIdCo';

标签: jsontypescript

解决方案


country错误是正确的,因为您的 JSON中没有任何属性。

您在那里拥有的是一个名为的对象file,它具有多个字段,例如COESAR

如果您想以CO编程方式访问该字段,则需要将其作为字符串传递。像这样的东西:

var getProperty = JSON.parse(`{ 
    "asse": {
        "driveId": "0AcUk9PVA",
        "folderId": "1ouono5dPyhxZPmU",
        "file": {
            "CO": "fileIdCo",
            "ES": "fileIdEs",
            "AR": "fileIdAr",
            "MX": "fileIdMx",
            "fileRange": "Ser, Work"
        }
    }
}`);

const country = "CO";

console.log(getProperty.asse.file[country])

如果您更改 的值country,您可以决定读取哪一个。


推荐阅读