Javascript 将文本行转换为json格式
我有很多公司名称都是文本,但我想将其格式如下:Javascript 将文本行转换为json格式,javascript,regex,json,Javascript,Regex,Json,我有很多公司名称都是文本,但我想将其格式如下: { "permalink": "3dplusme", "latitude": "", "longitude": "" }, { "permalink": "3point5-com", "latitude": "", "longitude": "" } 3dplusme 3point5-com accessdata acticut-international adaptive-computing airvend ...etc
{
"permalink": "3dplusme",
"latitude": "",
"longitude": ""
},
{
"permalink": "3point5-com",
"latitude": "",
"longitude": ""
}
3dplusme
3point5-com
accessdata
acticut-international
adaptive-computing
airvend
...etc
(.*)
我有300家公司的文字如下:
{
"permalink": "3dplusme",
"latitude": "",
"longitude": ""
},
{
"permalink": "3point5-com",
"latitude": "",
"longitude": ""
}
3dplusme
3point5-com
accessdata
acticut-international
adaptive-computing
airvend
...etc
(.*)
我正在寻找一些正则表达式,将为我做到这一点。我正在想办法,但任何帮助都会很好!谢谢大家!
括号后的逗号可能会弄乱公司的姓氏,但这并不重要,因为我可以手动修复它。我基本上只是想得到一些帮助,这样我就不必手动操作了。谢谢!:)
编辑:谢谢大家的帮助!!你们都帮了我。谢谢如果每一行都应该是permalink属性,您可以拆分新行字符上的字符串并创建一个数组。然后使用该方法创建新的数据数组
var lines = variableHoldingText.split("\n");
var data = lines.map(function(item){
return {permalink:item,latitude:"",longitude:""};
});
console.log(data);
//use JSON.stringify to get a json string
console.log(JSON.stringify(data));
如果假设每一行都是permalink属性,则可以拆分新行字符上的字符串并创建一个数组。然后使用该方法创建新的数据数组
var lines = variableHoldingText.split("\n");
var data = lines.map(function(item){
return {permalink:item,latitude:"",longitude:""};
});
console.log(data);
//use JSON.stringify to get a json string
console.log(JSON.stringify(data));
您可以使用非常简单的正则表达式,如下所示:
{
"permalink": "3dplusme",
"latitude": "",
"longitude": ""
},
{
"permalink": "3point5-com",
"latitude": "",
"longitude": ""
}
3dplusme
3point5-com
accessdata
acticut-international
adaptive-computing
airvend
...etc
(.*)
检查替换部分
您可以使用非常简单的正则表达式,如下所示:
{
"permalink": "3dplusme",
"latitude": "",
"longitude": ""
},
{
"permalink": "3point5-com",
"latitude": "",
"longitude": ""
}
3dplusme
3point5-com
accessdata
acticut-international
adaptive-computing
airvend
...etc
(.*)
检查替换部分
如果您真的想使用正则表达式,可以使用以下命令:
var re=/([\s\s]*?)\n/gm代码>
var myJson=[];
var str=$.trim($('#text').text());
var re =/([\s\S]*?)\n/gm;
var match;
while (match = re.exec(str)) {
myJson.push({permalink:match[1],latitude:"",longitude:""});
}
以下是。如果您真的想使用正则表达式,可以使用以下命令:var re=/([\s\s]*?)\n/gm代码>
var myJson=[];
var str=$.trim($('#text').text());
var re =/([\s\S]*?)\n/gm;
var match;
while (match = re.exec(str)) {
myJson.push({permalink:match[1],latitude:"",longitude:""});
}
下面是一个例子。您要寻找的不是正则表达式本身,而是使用正则表达式的替换
在Vim中
:%s/.*/{\r\t"permalink": "&",\r\t"latitude": "",\r\t"longitude": ""\r},/
我不做JavaScript,但这就是我想到的。将文件转换为字符串,然后:
var mystring = "a\nb\nc\n"
console.log(mystring.replace(/(.*)\n/mg , "{\n\t\"permalink\": \"$1\",\n\t\"latitude\": \"\",\n\t\"longitude\": \"\"\n}\n"));
或者,您可以逐行遍历文件,只需打印JSON字符串,并将中替换的公司名称作为变量。您要查找的不是正则表达式本身,而是使用正则表达式的替换
在Vim中
:%s/.*/{\r\t"permalink": "&",\r\t"latitude": "",\r\t"longitude": ""\r},/
我不做JavaScript,但这就是我想到的。将文件转换为字符串,然后:
var mystring = "a\nb\nc\n"
console.log(mystring.replace(/(.*)\n/mg , "{\n\t\"permalink\": \"$1\",\n\t\"latitude\": \"\",\n\t\"longitude\": \"\"\n}\n"));
或者,您可以逐行遍历该文件,只需打印JSON字符串,并将中替换的公司名称作为变量。每行是否都应该是permalink
属性?这是一个包含所有这些名称的文本文件?是的。它是一个包含所有这些名称的文本文件,它们分别位于一行中。是@PatrickEvans抱歉,我想澄清的是纬度和经线是空的,永久线是唯一需要填写的东西。每一行都应该是permalink
属性吗?这是一个包含所有这些名称的文本文件?是的。它是一个包含所有这些名称的文本文件,它们分别位于一行中。是的@PatrickEvans抱歉,我的意思是澄清纬度和经线是空白的,永久线是唯一需要填写的东西。