Распарсить многомерный массив json

180
21 декабря 2018, 15:30

Я видел уже один пример, но в моём случае выдаёт undefined (возможно я гдет накосячил). Есть такой массив [{"name":"\u0414\u0435\u043d\u0438\u0441","last_n":"\u041b\u0435\u0431\u0435\u0434\u0435\u0432","avatar":"\/user\/0M\/0K\/2\/pictures\/avatar\/8c16432d87bec8614f709ddba.jpg"},{"name":"\u0414\u0435\u043d\u0438\u0441","last_n":"lot","avatar":"css\/ico\/avatar.jpg"}]

Это чтот подобное поискового поля на форуме, сервер возвращает от 0-5 массивов сжатыми в один массив json надо распарсить каждый массив и поместить в разные div... Вот формирование ответа сервером

if(!empty($bean)){
  $datu = array();
foreach ($bean as $var) {
  $sdah  = //тут крч запрос;
$smpt = array(
"name" => $var->login_1,
"last_n" => $var->login_2,
"avatar" => $sdah->avatar
);
array_push($datu, $smpt);
}
$datu = json_encode($datu);
print_r ($datu);
}

Тут надо доделать success

 $.ajax({
  url: "/core.php?ajax=user_search",
  type: "POST",
  data: {"hel":hel},
  success: function(arsi) {
// это переделать
    var data = JSON.parse(arsi);
    document.getElementById('panel_user_search').innerHTML = data['name'];
//*переделать*

  }});

Если лень читать: распарсить многомерный массив на подмассивы, залить каждый подмассив в отдельный div

Answer 1

let success=response=>{ 
  let data=JSON.parse(response), 
  holder=document.getElementById('panel_user_search') 
  data.forEach(v=>{ 
    let div=document.createElement('div') 
    div.innerHTML=v.name 
    holder.appendChild(div) 
  }) 
 } 
 success('[{"name":"\u0414\u0435\u043d\u0438\u0441","last_n":"\u041b\u0435\u0431\u0435\u0434\u0435\u0432","avatar":"\/user\/0M\/0K\/2\/pictures\/avatar\/8c16432d87bec8614f709ddba.jpg"},{"name":"\u0414\u0435\u043d\u0438\u0441","last_n":"lot","avatar":"css\/ico\/avatar.jpg"}]')
<div id="panel_user_search"></div>

Вставить функцию success перед аяксом и заменить success: function(arsi) { на просто success

READ ALSO
Static Factory в Symfony

Static Factory в Symfony

Всем приветМне нужно в домене (в сущности) получать объект из базы данных

282
Из upstart в systemd

Из upstart в systemd

У меня Ubuntu 1804 не поддерживает upstart, использует systemd

149
Как получить статистику с Amazon Ses?

Как получить статистику с Amazon Ses?

Вопрос сушественый как получить статистику по каждому отправленому письму из рассылкиОбшее число я нашел собствено вот оно GetSendStatistics Вопрос...

207
Уменшить размер папки vendor

Уменшить размер папки vendor

Можно ли уменьшить папку vendor?

210