Как я могу прочитать файл JSON? - PullRequest
0 голосов
/ 11 июня 2019

Я хотел бы прочитать файл JSON. Но, когда читаешь мой const, он пустой .. Большое спасибо за вашу помощь

import { HttpClientModule, HttpClient } from '@angular/common/http';

@NgModule({
    imports: [
        HttpClientModule
    ]
})

   private url: string= './../../json/config.json';
   constructor(private http: HttpClient) {}

   const aaa = this.http.get(this.url);
   console.log('aaa', aaa)

   console.log === Observable {_isScalar: false, source: Observable, operator: MapOperator}
   operator: MapOperator {project: ƒ, thisArg: undefined}
   source: Observable {_isScalar: false, source: Observable, operator: FilterOperator}
   _isScalar: false
   __proto__: Object

Ответы [ 2 ]

2 голосов
/ 11 июня 2019

Ранее я использовал файлы json в своих угловых проектах.В основном в spec-файлах, но вот пример.Вы можете импортировать (или требовать) свой файл json, используя его путь относительно файла кода.

import * as testData from './testing/probe.testdata.json';

, а затем использовать данные json, используя переменную testData.как это:

const obj = (<any>testData);
var myJsonProp = obj.PropertyName;

это работает для меня, пожалуйста, имейте в виду, что это, например, в машинописи.но JS тоже работает.это заменит ваш звонок на this.http.get(this.url) удачи!

0 голосов
/ 11 июня 2019

Я использую такой класс:

export class State {
    constructor(public id: number, public name: string) { }
}
export class City {
    constructor(public id: number, public name: string, public state) { }
}

export const states: State[] = [
    {
        id: 0,
        name: 'Alabama'
    },
    {
        id: 1,
        name: 'Alaska'
    }
...

Затем в компонентах:

import { State, states, City, cities } from '../../shared/classes/us-areas';
...
readonly states: State[] = states;
readonly cities: City[] = cities;

Затем я могу использовать класс:

console.log(this.user.cities);
console.log(this.user.states);

Для JSONВы можете просто импортировать файл или подписаться на источник конечной точки и вывести его с помощью JSON-канала Angular.

<code><pre>{{newData | json}}

Для обслуживания исходных данных JSON вы можете создать службу и создать Subject который можно подписаться из любого места.

public post<T>(): Observable<any> {
    return this.http.get("https://example.com/config.json");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...