Во время работы приложения я получил ошибку в объявлении файла constants.ts
(присвоение данных файла json
константным переменным.) Файла.
Я объявил некоторые данные в json
файле, как object.json.
{
"furniture": {
"tb": {
"value": "table",
"display": "Table(s)"
},
"ch": {
"value": "chair",
"display": "Chair(s)"
}
},
"furnitureTypes": [
{
"value": "LivingRoomSofa",
"display": "Living Room Sofa"
},
{
"value": "CoffeeTable",
"display": "Coffee Table"
},
{
"value": "AccentCabinet",
"display": "Accent Cabinet"
}
],
"boardes": [
{
"value": null,
"display": "--"
},
{
"value": "Blockboard",
"display": "Block board"
},
{
"value": "Foamboard",
"display": "Foam board"
},
{
"value": "Fiberboard",
"display": "Fiber board"
}
]
}
Затем я создал один файл constants.ts и импортировал указанный выше файл json.
import * as objData from './objects.json';
В этом файле constants.ts
import * as objData from './objects.json';
const obj = <any>objData;
console.log('obj---:',obj);
export const Constants = { farr : [obj.furniture.tb, obj.furniture.ch]; }
Запустите проект, и я получил ошибку.
Невозможно прочитать свойство 'tb' из неопределенного в Module ../ src / app / shared / constants.ts
Это журнал консоли показывает:
obj-- Модуль {по умолчанию: {…}, __esModule: true, Symbol (Symbol.toStringTag): "Модуль"}
почему он получает Module
и добавляет ключ default
, но на самом деле он показывает прямой json object data
.
что я говорю, что:
Мне нужно вот так: json object
.
json-obj----------:
{farr: Array(2),furnitureTypes: Array(3), boardes: Array(4), …}
boardes: (4) [{…}, {…}, {…}, {…}]
farr: (2) [{…}, {…}]
furniture: {tb: {…}, ch: {…}}
furnitureTypes: (3) [{…}, {…}, {…}]
__proto__: Object
Здесь я могу получить прямой доступ как obj.tarr.a and obj.tripTypes[0]
Но в моем сценарии в журнале консоли это выглядит так:
obj---:
Module {default: {…}, __esModule: true, Symbol(Symbol.toStringTag):
"Module"}
default:
boardes: (4) [{…}, {…}, {…}, {…}]
furniture: {tb: {…}, ch: {…}}
furnitureTypes: (3) [{…}, {…}, {…}]
__proto__: Object
Symbol(Symbol.toStringTag): "Module"
__esModule: true
Здесь это выглядит как Module
, а не Object
.
Как я могу получить его как Object
?
Может кто-нибудь помочь мне решить проблему?