将包含键值格式的数据的文本文件转换为json

时间:2018-12-05 11:34:20

标签: javascript java json

假设我有一个文本文件,其中包含

之类的数据
[ key = 1542633482511430199, value=>>>BasicData:isConfirmAndOrder=0,brmRequestId=BR-2018-0000124,requestType=batch,projectName=Automation_Product_By_Admin,projectId=PRJ-2018-0000477,department=Global Packaging] 

如何将其转换为json格式。

我希望可以使用javascript解决方案,但是语言不是限制。

1 个答案:

答案 0 :(得分:1)

要执行此操作,您将需要进行很多替换,一个辅助函数将帮助您:

String.prototype.replaceAll = function(search, replacement) {
    var target = this;
    return target.replace(new RegExp(search, 'g'), replacement);
};

现在,让我们进行替换并运行JSON.parse

    JSON.parse(
'[ key = 1542633482511430199, value=>>>BasicData:isConfirmAndOrder=0,brmRequestId=BR-2018-0000124,requestType=batch,projectName=Automation_Product_By_Admin,projectId=PRJ-2018-0000477,department=Global Packaging]'
.replace(':', ':{').replace(']', '}}')
.replace(':', ':{').replaceAll("=", ':"')
.replaceAll(",", '",')
.replace(':"', ":")
.replace('[', '{')
.replace("}}", '"}}}')
.replace('",', ",")
.replace('>>>', '{')
.replace('{{', '{')
.replace('value:"', "value:")
.replace("=", ":")
.replace('key :', '"key" :')
.replace('value:', '"value":')
.replace('BasicData:', '"BasicData":')
.replace('isConfirmAndOrder:', '"isConfirmAndOrder":')
.replace('brmRequestId:', '"brmRequestId":')
.replace('requestType:', '"requestType":')
.replace('projectName:', '"projectName":')
.replace('projectId:', '"projectId":')
.replace('department:', '"department":')
)