powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Разобрать jSON обьект
4 сообщений из 4, страница 1 из 1
Разобрать jSON обьект
    #39198632
drummer84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Требуется помощь, всю голову сломал.
Имеется массив вида:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
[
  {
    "Name": "Ivanov",
    "Department": "72000"
  },
  {
    "Name": "Petrov",
    "Department": "72000"
  },
  {
    "Name": "kuznetsov",
    "Department": "72100"
  },
  {
    "Name": "Putin",
    "Department": "72110"
  },
  {
    "Name": "Pushkin",
    "Department": "31000"
  },
  {
    "Name": "Ivanov2",
    "Department": "31300"
  },
  {
    "Name": "Sidorov",
    "Department": "72110"
  },
    {
    "Name": "Sidorov",
    "Department": "01000"
  },
    {
    "Name": "Sidorov",
    "Department": "01000"
  },
    {
    "Name": "Sidorov",
    "Department": "01100"
  },
  {
    "Name": "Kozlov",
    "Department": "72110"
  }
]



Нужно из этого массива собрать иерархию уникальных "Department" с вложенностью. Логика вложенности такая, узлами всегда будут "Department" у которых последние 3 символа "000". например для всех Department 72000 дочерними будут "Department": "72100", для этого значения дочерними будут "Department": "72110" и т.д.

На выходе должно получиться примерно вот это
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
[
{"id": 1,
 "ParentId": null,
 "Departament":01000,
 "children":[{
    "id": 3,
   "ParentId": 1,
   "Departament":01100
   
 }]
},
{"id": 2,
 "ParentId": null,
 "Departament":72000,
 "children":[{
    "id": 4,
   "ParentId": 2,
   "Departament":72100,
   "children":[{
      "id": 5,
     "ParentId": 4,
     "Departament":72110
   
 }]
   
 }]
}
]

...
Рейтинг: 0 / 0
Разобрать jSON обьект
    #39198724
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drummer84всю голову сломал.
и где попытки кода? ))
...
Рейтинг: 0 / 0
Разобрать jSON обьект
    #39199297
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: javascript
1.
2.
3.
4.
5.
jQuery:
 var content = $.parseJSON(data)

JavaScript:
 var obj = JSON.parse(text);



Далее смотрите в отладчик!

Возможно массив будет вложенным
...
Рейтинг: 0 / 0
Разобрать jSON обьект
    #39199300
drummer84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, вот что сейчас есть, собрал массив из Department у которых последние 3 символа "000".
Правильной дорогой идут? Куда двигаться дальше ?
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
function myfunc(data){
            var nodeitem = [],
                 otdel = null,
                 parentId = null,
                 len = data.length,
                 currentID ;

   data.sort(function(a,b){return +a.Department > +b.Department ? 1 : -1});


            for (var i = j = 0; i < len; i++) {
                
                currentID = data[i].Department
                if(currentID.substring(2,5) ==="000"){
                    if (otdel !== currentID){
                         otdel = currentID;
                         nodeitem.push({ 
                              Department:otdel,
                              id:++j,
                              parentId:null
                            });
                    }
                }
              }
             
        };
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Разобрать jSON обьект
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]