мне нужно переформатировать JSON ниже, так что данные форматируются с иерархией уровня, она в настоящее время выглядит следующим образом:JSON вложенность лучших практики
[
{
"level": "level 1",
"name": "HTML5"
},
{
"level": "level 1",
"name": "CSS3"
},
{
"level": "level 1",
"name": "SASS/LESS"
},
{
"level": "level 1",
"name": "Git"
},
{
"level": "level 2",
"name": "MySQL"
},
{
"level": "level 2",
"name": "Server Management (using Apache/Nginx)"
},
{
"level": "level 2",
"name": "CMS Templating (Perch, Wordpress, Symfony, Laravel)"
},
{
"level": "level 2",
"name": "Illustration"
},
{
"level": "level 3",
"name": "OOP PHP"
},
{
"level": "level 3",
"name": "CMS Templating (Drupal, EpiServer, Umbraco)"
},
{
"level": "level 3",
"name": "3d Modelling"
}
]
, но я хочу, чтобы это было более вложенными, так что каждый навык сгруппированы по уровню. Я попробовал следующее, но я не думаю, что написал его правильно, так как не могу найти хороший способ доступа к именам уровней.
[
{
"level": {
"expert" : [
{ "name" : "HTML5" },
{ "name" : "CSS3" },
{ "name" : "SASS/LESS" },
{ "name" : "Git" }
],
"middle-weight" : [
{ "name" : "MySQL" },
{ "name" : "Server Management (using Apache/Nginx)" },
{ "name" : "CMS Templating (Perch, Wordpress, Symfony, Laravel)" },
{ "name" : "Illustration" }
],
"competent": [
{ "name" : "OOP PHP" },
{ "name" : "CMS Templating (Drupal, EpiServer, Umbraco)" },
{ "name" : "3d Modelling" }
]
}
}
]
Может кто-то пожалуйста, предложите лучший способ форматирования JSON, так что имеет больше смысла.
Примечание. Чтобы быть ясным, я не прошу помощи о том, как проходить данные, я прошу помощи о наиболее оптимальном способе ее выложить. Это совсем другой способ мышления из табличных данных, с которыми я привык работать.
'данные [0] .level.expert'? - А потом повторить? И в чем вопрос? – tymeJV
Просто перебирайте массив и нажимайте предопределенный объект в зависимости от атрибута 'level'. – Rias
Если вы хотите динамически управлять своими данными, обычно лучше иметь только массивы объектов, независимо от глубины. Например, вы можете иметь 'var level = [{name: 'expert', categories: [...]}, {name: 'компетентный', categories: [...]}, ...];'. Он также позволяет вам заказывать уровень без необходимости, например, дополнительного поля. – Blackhole