|
Как сериализовать дерево и передать во вью в Json?
|
|||
---|---|---|---|
#18+
Дан такой класс, узел, из которых строится дерево: Код: c# 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.
Функция GetTree() делает список, он сериализуется, но json получается не такой как надо, нужен json типа: Код: c# 1.
Как сделать правильно: надо как-то поменять класс, чтобы можно было в приложении создавать дерево (например, из базы) и затем сериализовать и получить такой json? Или делать обход дерева и руками фромировать строку вместо сериализации. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2019, 13:01 |
|
Как сериализовать дерево и передать во вью в Json?
|
|||
---|---|---|---|
#18+
Ролг Хупин, я может чего не понимаю, но если хочется, чтобы свойство children содержало список дочерних узлов, то оно должно быть подходящего для этого типа (тот же List<JsTreeModel>), а не bool вы надеетесь на то, что сериализатор обладает разумом и поймёт, что из-за того, что it.id = "#", а it11.parent = "#" и it12.parent = "#", то надо бы в массив дочерние узлы собрать? то есть мысли ваши заодно прочитает? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2019, 13:09 |
|
Как сериализовать дерево и передать во вью в Json?
|
|||
---|---|---|---|
#18+
Как-то так: Код: c# 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2019, 13:20 |
|
Как сериализовать дерево и передать во вью в Json?
|
|||
---|---|---|---|
#18+
Дмитрий МухРолг Хупин, я может чего не понимаю, но если хочется, чтобы свойство children содержало список дочерних узлов, то оно должно быть подходящего для этого типа (тот же List<JsTreeModel>), а не bool вы надеетесь на то, что сериализатор обладает разумом и поймёт, что из-за того, что it.id = "#", а it11.parent = "#" и it12.parent = "#", то надо бы в массив дочерние узлы собрать? то есть мысли ваши заодно прочитает? Да это не я надеюсь, это всё попытки нарисовать дерево во вью. Я потому и спросил, что children явно должен содержать поддерево ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2019, 15:08 |
|
Как сериализовать дерево и передать во вью в Json?
|
|||
---|---|---|---|
#18+
Ролг ХупинДмитрий МухРолг Хупин, я может чего не понимаю, но если хочется, чтобы свойство children содержало список дочерних узлов, то оно должно быть подходящего для этого типа (тот же List<JsTreeModel>), а не bool вы надеетесь на то, что сериализатор обладает разумом и поймёт, что из-за того, что it.id = "#", а it11.parent = "#" и it12.parent = "#", то надо бы в массив дочерние узлы собрать? то есть мысли ваши заодно прочитает? Да это не я надеюсь, это всё попытки нарисовать дерево во вью. Я потому и спросил, что children явно должен содержать поддерево От того, что вы по не понятной причине определили свойство string parent и bool children , дерево точно не нарисуется. Вы надеетесь, что компонент, рисующей дерево сам поймёт это сочетание? Нет. Либо такое поведение задокументировано, либо его надо реализовать самому. Что за компонент в итоге используете? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2019, 15:21 |
|
Как сериализовать дерево и передать во вью в Json?
|
|||
---|---|---|---|
#18+
Дмитрий МухРолг Хупинпропущено... Да это не я надеюсь, это всё попытки нарисовать дерево во вью. Я потому и спросил, что children явно должен содержать поддерево От того, что вы по не понятной причине определили свойство string parent и bool children , дерево точно не нарисуется. Вы надеетесь, что компонент, рисующей дерево сам поймёт это сочетание? Нет. Либо такое поведение задокументировано, либо его надо реализовать самому. Что за компонент в итоге используете? jstree.com неплохой, промудохался, поа настроил jquery, не все в примерах описано, приходится втыкать. Например, мне надо заполнить из контроллера, получается ajax вызовом, с этим вроде разобрался. Далее - на сайте в примерах есть, что контекстное меню моно сделать, но как сделать - не описано нормально. Еще мне надо иконки грузить не с диска, а из базы, с этим непонятно, как быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2019, 17:25 |
|
Как сериализовать дерево и передать во вью в Json?
|
|||
---|---|---|---|
#18+
Ролг ХупинДмитрий Мухпропущено... От того, что вы по не понятной причине определили свойство string parent и bool children , дерево точно не нарисуется. Вы надеетесь, что компонент, рисующей дерево сам поймёт это сочетание? Нет. Либо такое поведение задокументировано, либо его надо реализовать самому. Что за компонент в итоге используете? jstree.com хм, там же описан ожидаемый формат: https://www.jstree.com/docs/json/ либо children в виде массива строк, или объектов без свойства parent либо id + parent и никакого свойства children компонент не расчитан на свойсто children в виде булевого флага ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2019, 18:35 |
|
Как сериализовать дерево и передать во вью в Json?
|
|||
---|---|---|---|
#18+
Дмитрий МухРолг Хупинпропущено... jstree.com хм, там же описан ожидаемый формат: https://www.jstree.com/docs/json/ либо children в виде массива строк, или объектов без свойства parent либо id + parent и никакого свойства children компонент не расчитан на свойсто children в виде булевого флага это да, меня сбил с толку пример одного девелопера, в интернете нарыл. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2019, 19:19 |
|
|
start [/forum/topic.php?fid=18&msg=39845173&tid=1354932]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 150ms |
0 / 0 |