javascript - 尝试在 json 上推送或添加自定义 json
问题描述
基本上,我正在使用 json 对象,但是我的技能并不多,因为我仍然是 javascript 和 json 或对象文字的新手。我试图实现我想在另一个 xml/json 文件的最后一个元素处推送或插入自定义 json 对象的位置。有什么方法可以做到这一点吗?我已经尝试了很长一段时间,但无法使其工作。知道如何使它工作吗?因为老实说,我没有剩下的了:-)
我使用 getJSON 从我的网站请求 JSON。它工作得很好,但我需要以某种方式在 json 末尾插入另一个自定义对象文字是否可能?顺便说一下,这是我的代码。
$(function() {
$.getJSON('https://some_link_from_a_server_that_produces_xml_file_or_json',
function(data) {
//var dataLength = data.length;
fillData();
function fillData() {
var jsonData = [{
"LastModification": "04:27:48",
"Symbol": "EURUSD",
"Bid": '1.20568',
"Ask": "1.21238",
"High": '1.21789',
"Low": '1.19253',
"Direction": "-1",
"InserTime": "\/Date(1358760600163)\/",
"volume": "0"
}];
for (var i = 0; i < jsonData.length; i++) {
data.push([
parseFloat(jsonData[i].Bid),
parseFloat(jsonData[i].High),
parseFloat(jsonData[i].Low),
parseFloat(jsonData[i].Ask),
parseInt(jsonData[i].InserTime.substr(6)),
parseInt(jsonData[i].volume)
]);
}
CreateChart();
} // end of function fillData()
function CreateChart() {
var chart = new Highcharts.stockChart('container2',
{
title: {
text: 'EUR/USD',
floating: true,
align: 'left',
x: 0,
y: 55
},
subtitle: {
text: 'highest: 1.23223 / lowest: 1.21774',
floating: true,
align: 'left',
x: 0,
y: 70
},
xAxis: {
gridLineWidth: 1
},
yAxis: {
gridLineWidth: 1
},
rangeSelector: {
buttons: [
{
type: 'hour',
count: 1,
text: '1h'
}, {
type: 'day',
count: 1,
text: '1D'
}, {
type: 'all',
count: 1,
text: 'All'
}
],
selected: 1,
inputEnabled: true
},
series: [
{
name: 'EURUSD',
type: 'candlestick',
data: data,
tooltip: {
valueDecimals: 5
}
}
]
}); // end of highcharts.stockchart
}
});
});
解决方案
我认为您正在制作一个看起来像 [{...}, {...}] 的 JSON 数组
但是,在您的代码中,您正在制作一个看起来像 [[...], [.. .]]。
尝试 :
let data = [];
const func = function(data) {
fillData();
function fillData() {
var jsonData = [{
"LastModification": "04:27:48",
"Symbol": "EURUSD",
"Bid": '1.20568',
"Ask": "1.21238",
"High": '1.21789',
"Low": '1.19253',
"Direction": "-1",
"InserTime": "\/Date(1358760600163)\/",
"volume": "0"
}];
for (var i = 0; i < jsonData.length; i++) {
data.push({
Bid :parseFloat(jsonData[i].Bid),
High : parseFloat(jsonData[i].High),
Low : parseFloat(jsonData[i].Low),
Ask : parseFloat(jsonData[i].Ask),
InserTime : parseInt(jsonData[i].InserTime.substr(6)),
Volume :parseInt(jsonData[i].volume)
});
}
console.log(data);
} // end of function fillData()
}
func(data);
推荐阅读
- swift - 哪个更好 removeAll of Array 或再次初始化 Array?
- prometheus - 正则表达式对系列的普罗米修斯率
- node.js - Express-session 未在 Safari 浏览器中设置 cookie 数据
- php - 当无限滚动充电循环其他ajax被打破
- css - 为什么浏览器不能正确读取字体?
- python - 神经网络在更多的迭代中变得更糟
- scope - 在 Julia 中,有没有办法将变量从本地范围传递到封闭的本地范围?
- unity3d - 根运动后更新变换位置
- php - 没有 $_POST 变量
- security - 如何查看我的 android ssh 客户端连接的算法?