#json #typescript
Вопрос:
У меня есть функция в 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;
}
Это показывает мне ошибку, что свойство country не существует, я не знаю, как использовать эту переменную в качестве свойства JSON
Это то, что я хочу получить:
let id = 'fileIdCo';
Комментарии:
1. Я в замешательстве, это правильный файл JSON? Там нет никакой
country
собственности, дажеvtsFile
илиassets
хотя бы.2. @Balastrong
country
В файле JSON нет свойства, я хочу взять свойство CO файла JSON, но передать ему переменную, в которой хранится строка
Ответ №1:
Ошибка верна, так как в вашем JSON нет никакого свойства с именем country
.
То, что у вас там есть, — это объект , называемый file
, который имеет несколько полей, таких как CO
, ES
или AR
.
Если вы хотите получить доступ к полю 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
, вы сможете решить, какое из них читать.