我正在尝试将 java 属性文件转换为可以在 jquery 中使用的键值对。属性文件发送如下信息:
company1=Google
company2=eBay
company3=Yahoo
我想要这种形式:
var obj = {
company1: Google,
company2: ebay,
company3: Yahoo
};
我将通过 URL 访问属性文件。
我正在尝试将 java 属性文件转换为可以在 jquery 中使用的键值对。属性文件发送如下信息:
company1=Google
company2=eBay
company3=Yahoo
我想要这种形式:
var obj = {
company1: Google,
company2: ebay,
company3: Yahoo
};
我将通过 URL 访问属性文件。
假设您的文件完全按照您在此处粘贴的方式出现,我会这样处理它:
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 ,这篇文章可能会有所帮助
只需使用 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 }
});