json - 使用本地 JSON 文件导入时找不到模块

标签 json angular

我有这个简单的 Angular 项目,但无法导入我创建的本地 json 文件。这是 JSON 文件:

{
    "id": 1,
    "firstName": "Uziel",
    "lastName": "Cabanban",
    "car" : {
        "brand": "Toyota",
        "model": "Vios",
        "year": 2017
    }
}

JSON 文件存储在此目录中:src/assets/sampleJson.json .

这是我尝试导入所述 json 文件的组件:
import { Component, OnInit } from '@angular/core';
import SampleJson from '../assets/sampleJson.json';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})

export class AppComponent {

}

我还没有写任何东西,因为我在 import SampleJson from '../assets/sampleJson.json 中有一条红线

任何建议将不胜感激

最佳答案

.json文件不是 TypeScript 模块。既然你要本地 文件(假设它是硬编码的),您可以通过创建 .ts文件和 export一个常量/变量,如下所示:

sampleJson.ts

export const SampleJson = {
    "id": 1,
    "firstName": "Uziel",
    "lastName": "Cabanban",
    "car" : {
        "brand": "Toyota",
        "model": "Vios",
        "year": 2017
    }
}

然后在组件中:
import SampleJson from '../assets/sampleJson';  // path can change

希望这可以帮助

有关 TypeScript 模块的更多信息:https://www.typescriptlang.org/docs/handbook/modules.html

更新

或者您可以使用导入 JSON 文件
import * as SampleJSON from 'path/to/json/sampleJson.json
根据这个答案,使用 TypeScript v2.9.+:

https://stackoverflow.com/a/50674344/1331040

关于json - 使用本地 JSON 文件导入时找不到模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57141983/

相关文章:

java - 在Android/Java中解析JSON数据

angular - 为什么我的单元测试在 Chrome 中通过而在 PhantomJS 中失败?

angular - router-outlet 在页面上占用额外空间(Angular 2)

javascript - Nodejs 拼接 JSON 元素效果不佳

angular - 将 ng2-bootstrap 与 Angular2 集成

javascript - 将嵌套数组与另一个数组进行比较,如果值相同则赋值

css - ionic /Angular 如何从输入中删除边框

arrays - swift 4 : Decode array

json - 向 graphql api 发送 http 请求时出现 "Problems parsing JSON"

java - 使用json数据在表单中一起输入多个数据