arman1231
@arman1231
Keykeeper

Как создать объект для хранения иерархических данных из JSON?

Подскажите пожалуйста.
Есть объект вида:
[
  {
    "key": "СвЮЛ\\СведДолжнФЛ\\АдресМЖРФ\\Дом",
    "value": "Сведения о юридическом лице\\Сведения о лице, имеющем право без доверенности действовать от имени юридического лица\\Сведения об адресе места жительства в Российской Федерации\\Дом (владение и т.п.)"
  },
  {
    "key": "СвЮЛ\\СвУчредит\\УчрЮЛРос\\СвОбрем\\СвЗалогДержЮЛ\\СвРегИн\\ОКСМ",
    "value": "Сведения о юридическом лице\\Сведения об учредителях (участниках) юридического лица\\Сведения об учредителе (участнике) - российском юридическом лице\\Сведения об обременении доли участника\\Сведения о залогодержателе - ЮЛ\\Сведения о регистрации в стране происхождения\\Код страны происхождения"
  }
]


Стоит задача:
Создать объект для хранения иерархических данных, содержащихся в полях "value" приложенной структуры.
Далее полученный объект отобразить в виде вложенного списка на html-страничке.
В качестве доп. опции можно сделать сворачиваемые узлы списка.

Я это дело прогоняю через JSON.parse( )
var requestURL = './local.json';
var ourRequest = new XMLHttpRequest();
ourRequest.open('GET', requestURL);
ourRequest.onload = function() {
    var data = JSON.parse(ourRequest.response);
    renderHTML(data);
  }
  ourRequest.send();


Затем, допустим, хочу получить значение "key" из объекта JSON вот так:
const renderHTML = data =>{
    let htmlString = "";
    for (let i = 0; i<10; i++){
      htmlString += '<br>' +  data[i].key; 
    }
    section.insertAdjacentHTML('beforeend', htmlString);
  }

На выходе получаю
СвЮЛ\СведДолжнФЛ\АдресМЖРФ\Дом
СвЮЛ\СвУчредит\УчрЮЛРос\СвОбрем\СвЗалогДержЮЛ\СвРегИн\ОКСМ
СвЮЛ\СвУпрОрг\ПредИнЮЛ\СвФЛ\Имя


Видимо файл генерится с экранированием вида "\\" - после JSON.parse( ) получаем один "\".
Как мне теперь избавиться от "\", и допустить каждый элемент этого поля записать в отдельный див?
Какие идеи есть по?
Далее полученный объект отобразить в виде вложенного списка на html-страничке.
В качестве доп. опции можно сделать сворачиваемые узлы списка.
  • Вопрос задан
  • 102 просмотра
Пригласить эксперта
Ответы на вопрос 1
Можно через .split('\\') строку перевести в массив и затем каждый элемент массива вывести как захочется.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы