如何读取json文件?

时间:2019-06-11 14:43:45

标签: javascript angular

我想读取json文件。 但是,当读取我的常量时,它是空的。 非常感谢您的帮助

<?php

namespace App\Http\Middleware;

use Closure;

class AfterMiddleware
{
    public function handle($request, Closure $next)
    {   
        // Calls the controller and processes the request. 
        $response = $next($request); 

        // Here you can retrieve the user and modify the response however you want. 

        // Some example code: 
        $user = Auth::user();

        if ($user->type == 1) {
           ... //Change response for user type 1
        }
        if ($user->type == 2) {
           ... //Change response for user type 2
        }
        // Etc...

        return $response;
    }
}

2 个答案:

答案 0 :(得分:2)

我以前在我的角度项目中使用过json文件。通常在规格文件中,但这是一个示例。您可以使用相对于代码文件的路径导入(或要求)您的json文件。

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

,然后使用您的testData变量使用json数据。像这样:

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

这对我有用,请注意这一点,例如在打字稿中。但是js也可以。这将取代您给this.http.get(this.url)带来好运!

答案 1 :(得分:0)

我使用这样的类:

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,您可以简单地导入文件或订阅其端点源,并使用Angular的JSON管道将其输出。

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

要提供JSON源数据,您可以创建一个服务并制作一个Subject,该服务可以从任何地方订购。

public post<T>(): Observable<any> {
    return this.http.get("https://example.com/config.json");
}