【发布时间】:2020-02-11 15:14:44
【问题描述】:
我尝试使用 JSON srigify,但它只返回给我:
{"name":"nipahVirus","children":{}}
是因为我的格式数据类型转换错误?或者我做过的任何地方。如果有人可以帮助我,将不胜感激。 我正在将 csv 转换为 JSON。
这是我的代码。
function findSpecies(name){
var objspecies = {};
Papa.parse("nipahdata.csv", {
download: true,
complete: function(results) {
for(i = 0;i < results.data.length; i ++){
var species = {};
if(name == results.data[i][0]){
species["name"] = results.data[i][1];
species["niv_status"] = results.data[i][2];
objspecies[results.data[i][0]] = species;
}
}
}
});
return objspecies;
}
var nipahVirus_obj = {};
var genus = {};
Papa.parse("nipahdata.csv", {
download: true,
complete: function(results) {
var currgenus = "";
for(i = 0;i < results.data.length; i ++){
if(results.data[i][0] == "")
continue;
if(currgenus != results.data[i][0]){
var objgenus = {};
currgenus = results.data[i][0];
objgenus["name"] = results.data[i][0];
objgenus["children"]=findSpecies(results.data[i][0]);
genus[results.data[i][0]] = objgenus;
}
}
}
});
nipahVirus_obj["name"] = "nipahVirus";
nipahVirus_obj["children"] = genus;
var nipahVirus_JSON = JSON.stringify(nipahVirus_obj);
console.log(nipahVirus_JSON);
csv 是这样的,它包含三列:
Genus,Species Name,NiV status
Craseonycteris,Craseonycteris_thonglongyai,0
Emballonura,Emballonura_alecto,0
Emballonura,Emballonura_dianae,0
Emballonura,Emballonura_furax,0
Emballonura,Emballonura_raffrayana,0
Emballonura,Emballonura_serii,0
Emballonura,Emballonura_monticola,0
Emballonura,Emballonura_beccarii,0
Emballonura,Emballonura_semicaudata,0
Mosia,Mosia_nigrescens,0
Saccolaimus,Saccolaimus_flaviventris,0
Saccolaimus,Saccolaimus_saccolaimus,0
【问题讨论】:
-
您尝试解析的 csv 格式是什么样的?
-
@Geshode 我已经添加了 csv 格式