- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用bls.gov提供的API - 具体来说https://api.bls.gov/publicAPI/v1/timeseries/data/CES0000000001并将其分解为单独的变量(?)以在 react-chartjs-2 中使用.
我已经设法弄清楚如何获取它,并将原始 JSON 输出添加到我的网站。我现在想做的是正确解析 JSON,以便可以将其添加到 Chart.js 中。
这是我用来从 API 获取的代码。目前,它会在网站上发出弹出警报,其中包含来自 GET 请求的原始 JSON。
import React, { Component } from 'react'
class Testing extends Component {
getDataUsingGet() {
// Get request
fetch('https://api.bls.gov/publicAPI/v1/timeseries/data/CES0000000001',{
method: 'GET'
// Request type
})
.then((response) => response.json())
// If response is in json then in success
.then((responseJson) => {
//Success
alert(JSON.stringify(responseJson));
const obj = JSON.parse(responseJson);
// ... Code for parsing to go here?
console.log(responseJson)
})
// If response is not in json then throw error
.catch((error) => {
//Error
alert(JSON.stringify(error))
console.error(error)
});
}
render() {
return(
<div>
{/* Render the alert message in browser */}
{ this.getDataUsingGet() }
</div>
);
}
}
export default Testing
这是 GET 请求中的 JSON 格式。
{
"status": "REQUEST_SUCCEEDED",
"responseTime": 177,
"message": [],
"Results": {
"series": [
{
"seriesID": "CES0000000001",
"data": [
{
"year": "2020",
"period": "M03",
"periodName": "March",
"latest": "true",
"value": "151786",
"footnotes": [
{
"code": "P",
"text": "preliminary"
}
]
},
{
"year": "2020",
"period": "M02",
"periodName": "February",
"value": "152487",
"footnotes": [
{
"code": "P",
"text": "preliminary"
}
]
},
...
最后,这是我用来使用 react-chartjs-2
生成图表的代码。它当前填充了示例图表中的示例数据。
import React, { Component } from 'react';
import {Bar} from 'react-chartjs-2';
// TESTING FOR FETCHING API FROM WWW.BLS.GOV
// Data input for the RateChart chart.js generation -> 'data'
const data = {
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
datasets: [
{
label: 'US Unemployment Rate',
backgroundColor: 'rgba(255,99,132,0.2)',
borderColor: 'rgba(255,99,132,1)',
borderWidth: 1,
hoverBackgroundColor: 'rgba(255,99,132,0.4)',
hoverBorderColor: 'rgba(255,99,132,1)',
data: [65, 59, 80, 81, 56, 55, 40]
}
]
};
const RateChart = () => {
return (
<div>
<h2>Current unemployment</h2>
<Bar
data={data}
width={100}
height={50}
options={{
responsive: true,
maintainAspectRatio: true
}}
/>
</div>
);
}
export default RateChart;
总结:如何获取 JSON,将其分解为 year
、periodName
和 value
以便将它们添加到我的 RateChart 中
组件使用 jsx/javascript?
谢谢
最佳答案
尝试这样的方法来解析该 json。当您没有获得成功的响应时,您将需要添加空捕获等,但根据您提供的代码,这应该可以工作。
此外,在语法方面,您可能应该只返回response.json,并使 getDataUsingGet 函数异步,等待 fetch 调用,然后处理响应!这是一个比嵌套更干净的工作流程。thens
class Testing extends Component {
getDataUsingGet() {
// Get request
fetch('https://api.bls.gov/publicAPI/v1/timeseries/data/CES0000000001',{
method: 'GET'
// Request type
})
.then((response) => response.json())
// If response is in json then in success
.then((responseJson) => {
//Success
alert(JSON.stringify(responseJson));
const obj = responseJson;
// ... Code for parsing to go here?
for(var i = 0; i < obj.Results.series.length; i++){
series = obj.Results.series[i];
for(var j = 0; j < series.data.length; j++){
console.log(series.data[j].year)
console.log(series.data[j].period)
}
}
})
// If response is not in json then throw error
.catch((error) => {
//Error
alert(JSON.stringify(error))
console.error(error)
});
}
render() {
return(
<div>
{/* Render the alert message in browser */}
{ this.getDataUsingGet() }
</div>
);
}
}
export default Testing
关于javascript - 如何解析嵌套在 bls.gov 列表中的 JSON 以在 React-chartjs-2 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61300430/
有没有办法在 vue-chartjs 中制作带圆角的条形图?我在谷歌上搜索了一下,发现我们可以使用此 url 中给出的渲染条的实现来扩展条形图 - How to put rounded corners
我想通过提供两个数组来创建多条垂直线,第一个称为marketing,其中包含诸如“2017-09-21”等日期和一个数组称为 amount,仅包含数字。 我使用 ChartJS 创建了折线图。最终结果
(对不起我的英语)我将 chartjs-plugin-streaming 用于实时 chartjs,我想使用 chartjs-plugin-zoom。 但是缩放不起作用。 当我测试缩放时,出现缩放区域
我使用 angualr2-chartjs 来显示图表。我的问题是当我动态更改选项时图表更新只有一次。在控制台中,我看到一切都很好,但在 View 中我看不到变化。我使用了 chartjs-plugin
我正在尝试创建类似于 www.chartjs.org 顶部的内容其中有一个随机移动的背景条形图。我发现了另一个类似的question ,但是它似乎不起作用。当我在下面添加时,它不会添加除 400x40
感谢任何提示和/或帮助!我在这里碰壁试图让图表呈现。我已经恢复到测试一个非常简单的方法(下面的代码),但我仍然收到以下错误: 类型错误:无法读取未定义的属性(读取“ map ”) 我可以记录从 use
chartjs-plugin-zoom是 Chart.js 的缩放和平移插件 您可以调用 chart.resetZoom() 以编程方式将缩放重置为默认状态。参见 this example on js
我正在尝试将 Chart.js 与 Vue.js 一起使用,这就是我得到的编译结果,但我没有在 GUI 上看到任何显示。 这是我的文件 DonutChart.vue: // NOT SURE IF
好的,所以我正在尝试通过 VueJS 创建一个 ChartJS 实例,以便我可以通过组件内的 AJAX 请求轻松更新其数据。 基本上它可以工作,创建了 ChartJS 实例,但它是空的,高度和宽度为
我想从 chartjs-chart-treemap 添加树状图到我现有的使用 react-chartjs-2 的项目中. 我到目前为止尝试过: import ChartComponent from '
是否可以定义具有多级别/类别轴的条形图? 例如,我想显示地区/省类别,如下 Excel 图表所示: 我找到了this使用多个 xAxes 的示例。 xAxes:[ { id:'xA
我正在使用 chart.js (V2) 尝试构建一个条形图,用户无需将鼠标悬停在任何地方或点击任何地方即可获得更多信息。我提供了两个示例,说明我希望如何编辑我的图表。 Two edited versi
我想使用 Chartjs(chartjs.org) 作为我的图表工具以及使用 TypeScript 的 AngularJS。我已经从 GitHub 安装了 DefinitelyTyped for Ch
我正在使用 chartjs-plugin-datalabels,并且在大图表中显示较小的数据集时值重叠 这是 chartjs-data-plugin 配置 options: { plu
var yLabels = { 1 : 'New', 2 : 'Learning Phase', 3
我正在创建图表以使用图表 js 呈现一些数据。 const data = { labels: ["1 Dec", "8 Dec", "16 Dec", "31 Dec"], dat
我正在尝试将其他数据插入圆环图中。 Controller 将这样的数组传递给 View : [ 0 => array:3 [ "profit" => 20 "sex" => arr
将百分比值添加到图例标签的最简单方法是什么? 我相信它会使用 generateLabels: function (chart) {},谁能提供一个干净的例子? 最佳答案 似乎没有任何本地方式来显示百分
我已经多次看到这个问题,但我找不到适合我的解决方案。 我将一个 Django 变量传递给 Chartjs 进行绘图,所有的个位数都是正确的,但它将两位数变成了一个。像 11 是 1,1...23 是
我正在尝试使用 chartjs 数据标签插件获取每个条上的值。 所以在条形“a”上方 a 想看到数字 30 及以上或在条形“b”内我想看到数字 50。 但它根本没有显示任何值。 任何人都可以帮助并告诉
我是一名优秀的程序员,十分优秀!