Как разложить(победить) JSON полученный через 1С?

Здравствуйте.

Получил импортом из 1С такой вот JSON и не могу его перебрать. Я уже все перебрал что можно...Как победить?
Хочу получить на выходе
....= { ключ: значение} обычный объект так сказать разложенный для работы.

Заранее благодарю!

const object1 = {
"Товары": [
"{Филиал:ГНС,Цех:ГНС,МестоХранения:Голосов А.Ю,МатериальноеЛицо:Семенко Т.Ф,Номенклатура:Ботинки кожаные,ВариантНоменклатуры:Ми,ЕдиницаИзмерения:пар,Количество:1},",
"{Филиал:ГНС,Цех:ГНС,МестоХранения:Голосов А.Ю,МатериальноеЛицо:Семенко Т.Ф,Номенклатура:Сапоги утепленные,ВариантНоменклатуры:СжТн30,ЕдиницаИзмерения:пар,Количество:1},",
"{Филиал:ГНС,Цех:ГНС,МестоХранения:Голосов А.Ю,МатериальноеЛицо:Семенко Т.Ф,Номенклатура:Костюм рабочий мужской ЗМи,ВариантНоменклатуры:,ЕдиницаИзмерения:шт,Количество:1},",
"{Филиал:ГНС,Цех:ГНС,МестоХранения:Голосов А.Ю,МатериальноеЛицо:Семенко Т.Ф,Номенклатура:Фартук прорезиненый,ВариантНоменклатуры:Вн,ЕдиницаИзмерения:шт,Количество:1},",
"{Филиал:ГНС,Цех:ГНС,МестоХранения:Голосов А.Ю,МатериальноеЛицо:Семенко Т.Ф,Номенклатура:Очки защитные герметичные ЗНГ1,ВариантНоменклатуры:,ЕдиницаИзмерения:шт,Количество:1},"
]}
console.log( typeof object1); //"object"
console.log(Object.keys(object1)); //Array ["Товары"]

let obj = Object.keys(object1);
console.log( typeof obj); //"object"

console.log( Reflect.ownKeys(obj)); //Array ["0", "length"]
console.log( Object.keys(obj)); //Array ["0"]
  • Вопрос задан
  • 390 просмотров
Решения вопроса 1
notiv-nt
@notiv-nt
Как ваше ничего? Да, моё тоже
let str = '{Филиал:ГНС,Цех:ГНС,МестоХранения:Голосов А.Ю,МатериальноеЛицо:Семенко Т.Ф,Номенклатура:Ботинки кожаные,ВариантНоменклатуры:Ми,ЕдиницаИзмерения:пар,Количество:1},';

str = str
  .replace(/^{/, '')
  .replace(/},?$/, '')
  .split(',')
  .reduce((_, i) => {
    let arr = i.split(':');
    _[arr[0]] = arr[1];
    return _;
  }, {});

console.log(str);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
bootd
@bootd
Гугли и ты откроешь врата знаний!
Это вы никак не сможете победить, т.к. вам пришёл не json, а массив строк с типа json, который оформлен не правильно, т.к. это даже нельзя распарсить при помощи стандартной функции JSON.parse, значения без ковычек и т.п. Нужно идти к бекенду и решать вопрос. Либо, написать парсер, который приведёт строки к валидной json строке
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы