Ответ от сервера в массив / распарсить ответ?

Есть ответ от сервера типа
Ответ
..."content":{
"rendered":
"<h2>Вопрос1</h2><p>Ответ1</p>
<h2>Вопрос2</h2><p>Ответ2</p>
<h2>Вопрос3</h2><p>Ответ4</p>"
}...


И есть такая "конструкция" из PrimeNg
Accordion

<p-accordion>
    <p-accordionTab header="{header}">
       {content}
    </p-accordionTab>
   </p-accordion>



Как правильно реализовать, что бы "Вопросы" вставлялись в место {header}, а ответы вместо {content}???
Размышления

Возможно нужно как то распарсить ответ и создать 2 массива типа:
headers = [вопрос1,вопрос2,вопрос3];
contents = [ответ1,ответ2,ответ3];

Только как их отсортировать? =\
А потом как его все по очереди менять, т.к. с помощью *ngFor - с {content} все понятно, а вот как поменяь значение header="{header}"?

Спасибо за внимание!!!
  • Вопрос задан
  • 250 просмотров
Пригласить эксперта
Ответы на вопрос 1
@xtrime
senior web developer: php, mysql, angular
Вам нужно парсить в многомерный массив:
array = [ 
      {
        'header':'header1',
        'contents':'contents1'
      },
      {
        'header':'header2',
        'contents':'contents2'
      },
    ....
];


А обращаться в html к переменным вот так: {{item.header}} и {{item. contents}}

Парсить можно через регулярные выражения: https://javascript.ru/string/match
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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