M
M
Michael2020-05-18 09:54:37
JavaScript
Michael, 2020-05-18 09:54:37

How to decompose (defeat) JSON received through 1C?

Hello.

I got this JSON by import from 1C and I can’t sort it out. I have already gone through everything that is possible ... How to win?
I want to get at the output
....= { key: value } an ordinary object, so to speak, decomposed for work.

Thank you in advance!

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"]

Answer the question

In order to leave comments, you need to log in

2 answer(s)
M
Michael, 2020-05-18
@rfhyjd

let str = '{Филиал:ГНС,Цех:ГНС,МестоХранения:Голосов А.Ю,МатериальноеЛицо:Семенко Т.Ф,Номенклатура:Ботинки кожаные,ВариантНоменклатуры:Ми,ЕдиницаИзмерения:пар,Количество:1},';

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

console.log(str);

D
Dima Pautov, 2020-05-18
@bootd

You will not be able to win this in any way, because. you didn’t get json, but an array of strings with the json type, which is not formatted correctly, because it can't even be parsed using the standard JSON.parse function, unquoted values, etc. You need to go to the backend and resolve the issue. Or, write a parser that will convert strings to a valid json string

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question