저는 Jquery를 처음 사용했습니다. 누구든지 나를 도울 수 있거나이를 처리하는 방법을 말해 줄 수 있습니다. 다른 예제로 시도했지만 결과는 얻지 못했습니다. 사전에중첩 된 Json 데이터에 대한 Json 데이터
이 같은 중첩 된 데이터에이 JSON 데이터를 변환 할 필요가var arr = [
{ PARENTNODE: "Resource Management", CHILDNODE: "ManPower", OPERATIONNAME: "Update" },
{ PARENTNODE: "Resource Management", CHILDNODE: "Manpower", OPERATIONNAME: "View" },
{ PARENTNODE: "Resource Management", CHILDNODE: "ManPower", OPERATIONNAME: "Delete" },
{ PARENTNODE: "Resource Management", CHILDNODE: "Manpower", OPERATIONNAME: "Insert" },
{ PARENTNODE: "Resource Management", CHILDNODE: "Vehicles", OPERATIONNAME: "Update" },
{ PARENTNODE: "Resource Management", CHILDNODE: "Vehicles", OPERATIONNAME: "View" },
{ PARENTNODE: "Resource Management", CHILDNODE: "Vehicles", OPERATIONNAME: "Insert" },
{ PARENTNODE: "Resource Management", CHILDNODE: "Vehicles", OPERATIONNAME: "Delete" },
{ PARENTNODE: "Contacts", CHILDNODE: "Customers", OPERATIONNAME: "Update" },
{ PARENTNODE: "Contacts", CHILDNODE: "Customers", OPERATIONNAME: "View" },
{ PARENTNODE: "Contacts", CHILDNODE: "Customers", OPERATIONNAME: "Insert" },
{ PARENTNODE: "Contacts", CHILDNODE: "Customers", OPERATIONNAME: "Delete" }
],
,
[{
text: "Resource Management",
items: [{
text: "Manpower",
items: [{
text: "Update",
}, {
text: "Delete",
}, {
text: "Insert",
}, {
text: "View",
}]
}, {
text: "Vehicles",
items: [{
text: "Update",
}, {
text: "Delete",
}, {
text: "Insert",
}, {
text: "View",
}]
}]
}, {
text: "Contacts",
items: [{
text: "Manage Customers",
items: [{
text: "Update",
}, {
text: "Delete",
}, {
text: "Insert",
}, {
text: "View",
}]
}]
}]
감사합니다! 제발 도와주세요. (조금 원시적 인, 더 나은 솔루션을 환영합니다) 순수 JS에서
<script type="text/javascript">
'use strict';
var arr = [
{ PARENTNODE: "Resource Management", CHILDNODE: "ManPower", OPERATIONNAME: "Update" },
{ PARENTNODE: "Resource Management", CHILDNODE: "Manpower", OPERATIONNAME: "View" },
{ PARENTNODE: "Resource Management", CHILDNODE: "ManPower", OPERATIONNAME: "Delete" },
{ PARENTNODE: "Resource Management", CHILDNODE: "Manpower", OPERATIONNAME: "Insert" },
{ PARENTNODE: "Resource Management", CHILDNODE: "Vehicles", OPERATIONNAME: "Update" },
{ PARENTNODE: "Resource Management", CHILDNODE: "Vehicles", OPERATIONNAME: "View" },
{ PARENTNODE: "Resource Management", CHILDNODE: "Vehicles", OPERATIONNAME: "Insert" },
{ PARENTNODE: "Resource Management", CHILDNODE: "Vehicles", OPERATIONNAME: "Delete" },
{ PARENTNODE: "Contacts", CHILDNODE: "Customers", OPERATIONNAME: "Update" },
{ PARENTNODE: "Contacts", CHILDNODE: "Customers", OPERATIONNAME: "View" },
{ PARENTNODE: "Contacts", CHILDNODE: "Customers", OPERATIONNAME: "Insert" },
{ PARENTNODE: "Contacts", CHILDNODE: "Customers", OPERATIONNAME: "Delete" }
];
function getOrCreateListItem(list, searchItemName)
{
var newItem = null;
//Get item if it's already in the list
for (var item of list) {
if (item.text == searchItemName) {
newItem = item;
break;
}
}
//If no item found, create new item
if (!newItem) {
list.push({
text: searchItemName,
items: []
});
newItem = list[list.length-1];
}
return newItem;
}
var newData = [];
for (var item of arr) {
//Get parent item
var parent = getOrCreateListItem(newData, item.PARENTNODE);
//Get child item
var child = getOrCreateListItem(parent.items, item.CHILDNODE);
//Add child item data
child.items.push({text: item.OPERATIONNAME});
}
console.log(newData);
</script>
당신이 지금까지 아무것도 시도? – Hiral
기준별로 그룹을 설명 할 수 있습니까? – GiuServ