如何解析.jsx文件中的外部JSON文件

如何解析.jsx文件中的外部JSON文件,json,reactjs,Json,Reactjs,我是React新手,需要一些人解决我的json文件解析问题。我有一个PerfCompare.jsx,在下面的比较中需要一个变量。我需要从外部JSON文件trscconfig.JSON解析这个var。我用这句话来做。但始终在JSON数据的第1行第1列获取以下SyntaxError:JSON.parse:unexpected字符 JSON.parse不知道如何进行HTTP请求/读取文件-它只解析您传入的内容。在本例中,它失败是因为它试图将文本字符串./trscConfig.JSON转换为JSON对

我是React新手,需要一些人解决我的json文件解析问题。我有一个PerfCompare.jsx,在下面的比较中需要一个变量。我需要从外部JSON文件trscconfig.JSON解析这个var。我用这句话来做。但始终在JSON数据的第1行第1列获取以下SyntaxError:JSON.parse:unexpected字符

JSON.parse不知道如何进行HTTP请求/读取文件-它只解析您传入的内容。在本例中,它失败是因为它试图将文本字符串./trscConfig.JSON转换为JSON对象

有两种方法可以让它工作:

通过模块绑定器加载JSON,就像在代码的注释行中所做的那样。我相信Webpack和大多数其他软件都支持这种开箱即用的方式,但您的配置可能会有意或无意地禁用它。这也可能是因为您使用的是大写文件扩展名—请尝试使用小写.json文件。 使用、或第三方HTTP客户端库在运行时下载JSON,然后解析下载的文本。 使用:

const response=wait fetch'trscConfig.JSON'; const json=await response.json; const server_2=json.server; 或者,如果您的构建工具尚不支持wait:

获取'trscConfig.JSON' .thenresponse=>response.json .thenjson=>{ const server_2=json.server; }; 在任何一种情况下,在运行时下载JSON文件都意味着响应不会立即可用。如果这是一个React组件,我建议在componentDidMount中执行此操作

或者,如果JSON文件是静态资产:


从'./trscConfig.JSON'导入{server as server_2};
请直接在问题中插入代码来替换图像。完成了~ThanksThanks感谢您的回答,但当我尝试此操作时,它会给出:解析错误:Wait是一个保留字。您使用什么来传输JavaScript?无论如何,我已经在我的答案中添加了一个无需等待的版本。这两个端口从“/trscConfig.JSON”中等效为{server as server_2};它起作用了。天哪,只需一行代码就被卡住了2天。很高兴听到这个消息!通常JSON来自API,而不是静态的,所以需要异步获取/解析。顺便问一下,如果有帮助的话,你能接受我的回答吗?非常感谢你的回答。现在我很困惑。我改为lowecase json并尝试导入trscConfig.json文件,如下所示:从“./trscConfig.json”导入APP_数据;那我接下来要做什么。
{
     "server" : "http://myserver.com"
}
import React, { Component } from 'react';
import { Form, Input, Button, Radio, Row, Table, Divider, Progress, Alert } from 'antd';
import math from 'mathjs';
import { stringify } from 'qs';
import PerffarmRunJSON from './lib/PerffarmRunJSON';
import JenkinsRunJSON from './lib/JenkinsRunJSON';
import benchmarkVariantsInfo from './lib/benchmarkVariantsInfo';
import './PerfCompare.css';

//import App_DATA from './trscConfig.JSON';

const server_2 = JSON.parse('./trscConfig.JSON').server;