Как преобразовать config.properties в пары ключ-значение? - PullRequest
0 голосов
/ 27 августа 2018

Я пытаюсь преобразовать файл свойств java в пары ключ-значение, которые я могу использовать в jquery. Файл свойств отправляет информацию, которая выглядит следующим образом:

company1=Google
company2=eBay
company3=Yahoo

И я хочу это в таком виде:

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

Я собираюсь получить доступ к файлу свойств через URL.

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Предполагая, что ваш файл идет именно так, как вы его здесь вставили, я бы подошел к нему примерно так:

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 Создать объект из массива

0 голосов
/ 27 августа 2018

Просто используйте модуль 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 }
});
...