Javascript从原始JSON创建自定义格式的JSON
我有一个对象数组(Javascript从原始JSON创建自定义格式的JSON,javascript,arrays,Javascript,Arrays,我有一个对象数组(数据),例如: 我想使用data中的值创建一个新数组(data_2),该数组的格式为输入到表显示中。将重命名键字符串,并将站报告变量的值组合为单个字符串。例如: data_2 = [ { "Station ID": "ABC1", "Name": "Some Name 1", "Station Reports": "98% (200 of 210)", "Expected Frequency": 15, "Sensors": 6,
数据
),例如:
我想使用data
中的值创建一个新数组(data_2
),该数组的格式为输入到表显示中。将重命名键字符串,并将站报告
变量的值组合为单个字符串。例如:
data_2 = [
{
"Station ID": "ABC1",
"Name": "Some Name 1",
"Station Reports": "98% (200 of 210)",
"Expected Frequency": 15,
"Sensors": 6,
"Average Latency": 1.2,
"Last Report Time": 201907310000
},
{
"Station ID":"ABC2",
"Name": "Some Name 2",
"Station Reports": "99% (205 of 210)",
"Expected Frequency": 15,
"Sensors": 5,
"Average Latency": 1.5,
"Last Report Time": 201907310000
},
{
"Station ID":"ABC3",
"Name": "Some Name 3",
"Station Reports": "100% (210 of 210),
"Expected Frequency": 15,
"Sensors": 6,
"Average Latency": 1.7,
"Last Report Time": 201907310000
}]
如何使用JavaScript创建数据_2
?一个有效的解决方案是理想的,因为这将在页面加载期间动态执行
我能够从原始值构造新字符串,例如:
test = {"Station Reports": data[0]["station_reports_percentage"] + "% (" + data[0]["station_reports_received"] + " of " + data[0]["station_reports_possible"] + ")"}
然而,我正在努力使用js为循环语法找到合适的
。此代码将帮助您获得预期结果
让jsonData=[{
“stid”:“ABC1”,
“名称”:“某个名称1”,
“车站报告百分比”:98,
“接收到的电台报告”:200,
“车站报告:可能”:210,
“预期频率”:15,
“传感器”:6,
“平均_延迟”:1.2,
“上次报告时间”:201907310000
},
{
“stid”:“ABC2”,
“姓名”:“姓名2”,
“车站报告百分比”:99,
“接收到的电台报告”:205,
“车站报告:可能”:210,
“预期频率”:15,
“传感器”:5,
“平均_延迟”:1.5,
“上次报告时间”:201907310000
},
{
“stid”:“ABC3”,
“名字”:“某个名字3”,
“车站报告百分比”:100,
“接收到的电台报告”:210,
“车站报告:可能”:210,
“预期频率”:15,
“传感器”:6,
“平均_延迟”:1.7,
“上次报告时间”:201907310000
}
];
让标签={
“stid”:“站点ID”,
“名称”:“名称”,
“预期频率”:“预期频率”,
“传感器”:“传感器”,
“平均延迟”:“平均延迟”,
“上次报告时间”:“上次报告时间”
}
设newData=[];
对于(让每个jsonData){
设newFormat={};
for(请输入每个名称){
if(标签[名称]){
newFormat[标签[名称]]=每个[名称];
}
}
newFormat[“Station Reports”]=`${each[“Station_Reports_percentage”]}%(${each[“Station_Reports_received”]}的${each[“Station_Reports_received”]});
newData.push(newFormat);
}
console.log(newData)代码>不确定“高效”是什么意思。我建议使用以下方法保持简单:
const数据=[
{
“stid”:“ABC1”,
“车站报告百分比”:98,
“接收到的电台报告”:200,
“车站报告:可能”:210,
}];
常量数据_2=[];
data.forEach(o=>{
数据推送({
“站点ID”:o.stid,
“电台报告”:“${o.Station\u Reports\u percentage}%(${o.Station\u Reports\u received}中的${o.Station\u Reports\u possible}”),
});
});
控制台日志(数据_2)代码>定义高效…只是寻找一个方法,将快速加载到网页上。加载原始JSON后,我需要创建第二个JSON,然后将其呈现到表中。原始版本可能包含数百个条目。可以使用地图和排列操作符或向我们展示您的尝试。堆栈溢出不是免费的代码编写服务!你可以采取多种方法。这里的目标是帮助您编写代码,而不是为您编写所有代码you@charlietfl我是javascript新手,正在寻找使用此重新格式化问题的示例。我做过各种尝试,但都不值得发布。总的来说,我同意你的意见,并且通常会尝试发表更具体的文章,明确问题。谢谢
test = {"Station Reports": data[0]["station_reports_percentage"] + "% (" + data[0]["station_reports_received"] + " of " + data[0]["station_reports_possible"] + ")"}