Javascript 分隔文本的每一行并处理其信息
我从API()调用一些文本文件格式的数据。此文本文件中的每一行都是一个单独的播放机,其中包含他的信息(姓名、ID等)。每名球员都是一次换线。我目前的问题是,我没有很好的策略如何将每个玩家分开,并调用其特定信息将其推送到一个新的玩家对象中,该对象将保存在json数组中 例如: 文本文件中的第一行(id、名称、联盟id、点数、等级、城镇) 应该成为Javascript 分隔文本的每一行并处理其信息,javascript,node.js,Javascript,Node.js,我从API()调用一些文本文件格式的数据。此文本文件中的每一行都是一个单独的播放机,其中包含他的信息(姓名、ID等)。每名球员都是一次换线。我目前的问题是,我没有很好的策略如何将每个玩家分开,并调用其特定信息将其推送到一个新的玩家对象中,该对象将保存在json数组中 例如: 文本文件中的第一行(id、名称、联盟id、点数、等级、城镇) 应该成为 { "id": 6415107, "name": "Aragorn2", "alliance_id": 972, "points": 4
{
"id": 6415107,
"name": "Aragorn2",
"alliance_id": 972,
"points": 40297,
"rank": 461
"towns": 4
}
理论上,我可以检测第一个换行符,将0到换行符位置的所有字符,从文本文件中删除此子字符串并处理数据。但这感觉真的很乏味,我可以想象有什么好方法可以使用RegEx和匹配。
感谢您的帮助对于此场景,我建议使用npm模块。它将把csv文件解析为nodeJS
中的JSON对象。结帐:
这样,它将构建一个对象的数组
,并将属性名称映射到csv头行
根据您的用例调整的csv示例:
id, name, alliance_id, points, rank, towns
6415107,Aragorn2,972,40297,461,4
对于这种情况,我建议使用npm模块。它将把csv文件解析为nodeJS
中的JSON对象。结帐:
这样,它将构建一个对象的数组
,并将属性名称映射到csv头行
根据您的用例调整的csv示例:
id, name, alliance_id, points, rank, towns
6415107,Aragorn2,972,40297,461,4
你可以遵循以下方法,希望能奏效
var data=`6415107,Aragorn297240340462,4
波斯莱,6394106,邮编:01534,0
斯提尔斯,5384599,1751514,1
纽卡斯尔,邮编:6418914,邮编:01654,0
6394794,哈波克拉底,762,01591,0`
行=数据。拆分(“\n”)
var结果=[];
lines.forEach(x=>{
设d=x.split(“,”);
设o={};
o[“id”]=d[0];
o[“名称”]=d[1];
o[“联盟id”]=d[2];
o[“点”]=d[3];
o[“排名”]=d[4];
o[“城镇”]=d[5];
结果:推送(o)
})
console.log(result)
您可以按照下面的方法操作,希望能奏效
var data=`6415107,Aragorn297240340462,4
波斯莱,6394106,邮编:01534,0
斯提尔斯,5384599,1751514,1
纽卡斯尔,邮编:6418914,邮编:01654,0
6394794,哈波克拉底,762,01591,0`
行=数据。拆分(“\n”)
var结果=[];
lines.forEach(x=>{
设d=x.split(“,”);
设o={};
o[“id”]=d[0];
o[“名称”]=d[1];
o[“联盟id”]=d[2];
o[“点”]=d[3];
o[“排名”]=d[4];
o[“城镇”]=d[5];
结果:推送(o)
})
console.log(结果)
这有帮助吗?这回答了你的问题吗?这有帮助吗?这回答了你的问题吗?我喜欢你的想法,并感谢你提示我的文件是csv。我甚至都不认识它,ups。但我测试了不同的csv解析器,它们都有文件问题。最后@Sourabh Somanis answer正确地转换了文件。我喜欢你的想法,感谢你提示我的文件是csv。我甚至都不认识它,ups。但我测试了不同的csv解析器,它们都有文件问题。最后@Sourabh Somanis answer正确地转换了文件。非常感谢您的转换片段。我将彻底研究它,以了解它是如何工作的。对于不同的csv解析器,您的代码可以正常工作。非常感谢您的转换代码片段。我将彻底研究它,以了解它是如何工作的。相对于不同的csv解析器,您的代码可以正常工作。