如何将config.properties转换成键值对?
How to convert config.properties into key value pairs?
我正在尝试将 java 属性文件转换为可在 jquery 中使用的键值对。 属性 文件发送的信息如下所示:
company1=Google
company2=eBay
company3=Yahoo
我想要这种形式:
var obj = {
company1: Google,
company2: ebay,
company3: Yahoo
};
我将通过 URL.
访问 属性 文件
只需使用 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 }
});
假设您的文件与您在此处粘贴的方式完全一致,我将按如下方式处理:
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,这个 post 可能会有帮助
我正在尝试将 java 属性文件转换为可在 jquery 中使用的键值对。 属性 文件发送的信息如下所示:
company1=Google
company2=eBay
company3=Yahoo
我想要这种形式:
var obj = {
company1: Google,
company2: ebay,
company3: Yahoo
};
我将通过 URL.
访问 属性 文件只需使用 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 }
});
假设您的文件与您在此处粘贴的方式完全一致,我将按如下方式处理:
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,这个 post 可能会有帮助