и объявить это в
аюсь загрузить данные json через httpclient, используя get в Angular 5. Я использую сервис, интерфейс, компонент и файл json; Я уже выполнил несколько уроков, чтобы попытаться заставить это работать, а также проверил мой JSON сjsonlint, Из того, что я вижу, все должно работать, json должен быть разобран, и все должно быть хорошо, кроме как я получаю'ошибка: [объект объекта]' в консоли каждый раз. Я пробовал разные вещи, чтобы исправить это, такие как
data => this.jsonArticles = Object.values(data);
this.articles = data[0];
но я не могу получить свои данные в любой другой форме.
article.service.ts
import { Injectable } from '@angular/core';
import { Article } from './article';
import { Observable } from 'rxjs/Observable';
import { HttpClient } from '@angular/common/http';
@Injectable()
export class ArticleService {
// Variables
private _jsonUrl: string = './assets/data.json';
// Constructors
constructor(private http: HttpClient) { }
// Methods
getArticles(): Observable<Article[]> {
return this.http.get<Article[]>(this._jsonUrl);
}
}
article.component.ts
import { Component, OnInit } from '@angular/core';
import { ArticleService } from '../article.service';
import { Article } from '../article';
@Component({
selector: 'app-article',
templateUrl: './article.component.html',
styleUrls: ['./article.component.scss']
})
export class ArticleComponent implements OnInit {
// Variables
public jsonArticles = [];
public errorMsg;
// Consturctors
constructor(private _articleService: ArticleService) { }
// Methods
ngOnInit(){
this._articleService.getArticles()
.subscribe(
data => this.jsonArticles = data,
error => this.errorMsg = error);
}
}
article.ts
export interface Article {
id: number;
author: string;
title: string;
content: string;
tags: string[];
categories: string[];
publishDate: string;
published: boolean;
}
data.json
[
{
"id": 3,
"author": "",
"title": "Fancy Meat",
"content": "Strip steak bresaola capicola tail cow chicken corned beef turkey.",
"tags": ["test", "lorum"],
"categories": ["blah"],
"publishDate": "2018-02-12T08:15:00.000-05:00",
"published": true
},
]
Для краткости я обрезал файл json, в нем больше записей, делающих мой объект json массивом, и после последней записи в массиве json запятой нет.