I have the following JSON.
json_data = [
{ "ServiceRequests": [
{
"Header": {
"NewNetworkServiceProvider": "8051",
"PurchaseOrderNumber": "1517400004BELLON",
"Version": "01",
"RecordType": "001",
"ServiceRecordType": 0
},
"Details": [
{
"NewNetworkServiceProvider": "8051",
"PurchaseOrderNumber": "1517400004BELLON",
"VersionString": "01",
"RecordType": "005",
"ServiceRecordType": 5
}
]
},
{
"Header": {
"NewNetworkServiceProvider": "8051",
"PurchaseOrderNumber": "1517400003BELLON",
"Version": "01",
"RecordType": "001",
"ServiceRecordType": 0
},
"Details": [
{
"NewNetworkServiceProvider": "8051",
"PurchaseOrderNumber": "1517400003BELLON",
"VersionString": "01",
"RecordType": "005",
"ServiceRecordType": 5
},
{
"NewNetworkServiceProvider": "8051",
"PurchaseOrderNumber": "1517400003BELLON",
"VersionString": "01",
"RecordType": "005",
"ServiceRecordType": 5
},
{
"NewNetworkServiceProvider": "8051",
"PurchaseOrderNumber": "1517400003BELLON",
"VersionString": "01",
"RecordType": "005",
"ServiceRecordType": 5
}
]
},
{
"Header": {
"NewNetworkServiceProvider": "8051",
"PurchaseOrderNumber": "1517400002BELLON",
"Version": "01",
"RecordType": "001",
"ServiceRecordType": 0
},
"Details": [
{
"NewNetworkServiceProvider": "8051",
"PurchaseOrderNumber": "1517400002BELLON",
"VersionString": "01",
"RecordType": "005",
"ServiceRecordType": 5
},
{
"NewNetworkServiceProvider": "8051",
"PurchaseOrderNumber": "1517400002BELLON",
"VersionString": "01",
"RecordType": "005",
"ServiceRecordType": 5
},
{
"NewNetworkServiceProvider": "8051",
"PurchaseOrderNumber": "1517400002BELLON",
"VersionString": "01",
"RecordType": "005",
"ServiceRecordType": 5
}
]
}]} ];
I would like to convert it to something like this:
treedata_avm = [
{
label: 'Service Request',
children: [
{
label: 'Record 1',
children: [
{
label: 'Header',
data: {
definition: "This is header",
data_can_contain_anything: true
}
}, {
label: 'Details',
data: {
definition: "This is header",
data_can_contain_anything: true
}
}
]
}, {
label: 'Record 2',
children: [
{
label: 'Header',
data: {
definition: "This is header",
data_can_contain_anything: true
}
}, {
label: 'Details',
data: {
definition: "This is header",
data_can_contain_anything: true
}
}
]
},
{
label: 'Record 3',
children: [
{
label: 'Header',
data: {
definition: "This is header",
data_can_contain_anything: true
}
}, {
label: 'Details',
data: {
definition: "This is header",
data_can_contain_anything: true
}
}
]
}
]
}
];
I've started writing the code, but i'm getting hung up on creating the correct label names for my new output. I don't care about the details, i want to build an index of it, like in a tree view.
var records = json_data;
for (var i =0; i < records.length; i++) {
if (!newArrays[records[i].ServiceRequests]) {
newArrays[records[i].ServiceRequests] = [];
newArrays[records[i].ServiceRequests].push(records[i].ServiceRequests[i]);
for (var j=0; j < newArrays[records[i].ServiceRequests].length; j++){
}
}
}