Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript从原始JSON创建自定义格式的JSON_Javascript_Arrays - Fatal编程技术网

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"] + ")"}