我正在尝试将Java属性文件转换为可在jquery中使用的键值对。属性文件发送的信息如下所示:
company1=Google
company2=eBay
company3=Yahoo
我想要这种形式:
var obj = {
company1: Google,
company2: ebay,
company3: Yahoo
};
我将通过URL访问属性文件。
答案 0 :(得分:4)
假设您的文件与您在此处粘贴的方式完全相同,我将采用以下方式进行处理:
var data = "company1=Google\ncompany2=eBay\ncompany3=Yahoo";
var formattedData = data
// split the data by line
.split("\n")
// split each row into key and property
.map(row => row.split("="))
// use reduce to assign key-value pairs to a new object
// using Array.prototype.reduce
.reduce((acc, [key, value]) => (acc[key] = value, acc), {});
var obj = formattedData;
console.log(obj);
如果您需要支持ES5 Create object from array
,此帖子可能会有所帮助答案 1 :(得分:1)
只需使用npm模块https://www.npmjs.com/package/properties
此模块实现Java .properties规范,并添加了其他功能,如ini节,变量(键引用),名称空间,导入文件等等。
# file
compa = 1
compb = 2
nodejs:
var properties = require ("properties");
properties.parse ("file.properties", { path: true }, function (error, obj){
if (error) return console.error (error);
console.log (obj);
//{ compa : 1, compb : 2 }
});