gpt4 book ai didi

javascript - 将 json 与 html 文件分离

转载 作者:行者123 更新时间:2023-11-27 23:14:13 25 4
gpt4 key购买 nike

我开始使用 html 图表来显示来自 json 文件的数据。直到五天前,我很少用 html 图表做任何事情。但现在这就是我所做的一切。

所以我正在使用 anychart 图表,并且我一直在尝试找到一种方法来使用“json”文件填充图表。

经过多次试错,我能够有点分离数据并将其移动到 json 文件中。问题是文件不完全是 json 字符串。

如您所见,MyFile.json 具有 json 字符串和一些图表组件。我希望我的 json 文件只是 json 数据;其他一切都应该在 html、另一个 javascript 或其他任何地方。但它不能在 json 文件中。

换句话说,MyFile.json 应该只包含:

{"x": "January","value": 10000},{"x": "February","value": 12000}, {"x": "March","value": 18000}]

这可能吗?任何帮助表示赞赏。谢谢。

这是MyFile.json:

{
"chart": {
"type": "line",
"series": [{
"seriesType": "spline",
"data": [{
"x": "January",
"value": 10000
}, {
"x": "February",
"value": 12000
}, {
"x": "March",
"value": 18000
}]
}],
"container": "container"
}
}

这是我的 html:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.anychart.com/js/7.13.1/anychart-bundle.min.js"></script>
<link rel="stylesheet" href="https://cdn.anychart.com/css/latest/anychart-ui.min.css">
</head>
<body>
<div id="container"></div>
</body>
</html>


<script>

$(document).ready(function(){
$.getJSON('MyFile.json', function(data) {
console.log(data);
anychart.fromJson(data).draw();
});
});

</script>

最佳答案

如果我正确理解了你的问题...... Anycharts 中可能有一种方法可以更好地做到这一点(比如将一个对象分配为“设置”然后分配一个不同的“数据”),但这里是您可以自己实现的一种方法:

JSON 文件:

[{
"x": "January",
"value": 10000
}, {
"x": "February",
"value": 12000
}, {
"x": "March",
"value": 18000
}]

javascript 文件中的 AJAX 请求:

$(document).ready(function(){
$.getJSON('MyFile.json', function(data) {
var wrapper = {
"chart": {
"type": "line",
"series": [{
"seriesType": "spline",
"data": data // adding the ajax response data
}],
"container": "container"
}
};
anychart.fromJson(wrapper).draw();
});
});

关于javascript - 将 json 与 html 文件分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44115199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com