如何将config.properties转换为键值对?

时间:2018-08-27 14:52:34

标签: javascript jquery json property-files

我正在尝试将Java属性文件转换为可在jquery中使用的键值对。属性文件发送的信息如下所示:

company1=Google
company2=eBay
company3=Yahoo

我想要这种形式:

var obj = {
 company1: Google,
 company2: ebay,
 company3: Yahoo
};

我将通过URL访问属性文件。

2 个答案:

答案 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 }
});