INPUT JSON:
{
"Start":{
"HInfo":{
"HInfoID":"ABCD1234",
"SUType":"OnStup",
"SModel":"Test",
"Hostname":"Dummy",
"SType":"Laptop",
"Monitor":{
"HInfoID":"ABCD1234",
"Index":0,
"Type":"Lenovo",
"VSData":"XYZVN"
},
"OS":"MSW-07",
"LRTime":"2017-05-04",
"Cables":[
{
"HInfoID":"ABCD1234",
"Index":0,
"Name":"LC",
"Status":"Installed"
},
{
"HInfoID":"ABCD1234",
"Index":1,
"Name":"WLSwitch",
"Status":"Off"
},
{
"HInfoID":"ABCD1234",
"Index":2,
"Name":"WLAN",
"Status":"Installed"
}
],
"NFan":{
"HInfoID":"ABCD1234",
"Index":0
},
"Disk":[
{
"HInfoID":"ABCD1234",
"Index":0,
"Name":"DISK0",
"MKMdl":"THB",
"BW_MB":694,
"Partition":[
{
"HInfoID":"6ABCD1234",
"DGID":"ABCD1234",
"Index":0,
"Name":"Not Used",
"SM":500
},
{
"HInfoID":"ABCD1234",
"DGID":"ABCD1234",
"Index":1,
"Name":"C:",
"SM":476438
}
]
},
{
"HInfoID":"ABCD1234",
"Index":1,
"Name":"DISK1",
"MKMdl":"JFlsh",
"BW_MB":0,
"Partition":{
"HInfoID":"ABCD1234",
"DGID":"ABCD1234",
"Index":0,
"Name":"E:",
"SM":7727
}
}
]
}
}
}
Ожидаемый вывод JSON Файлы:
{"obj_class": "HInfo", "obj_instance": " HInfo "," ratio_tree ":" Start.HInfo "," HInfo ": {" HInfoID ":" ABCD1234 "," SUType ":" OnStup "," SModel ":" Test "," Hostname ":" Dummy ", "SType": "Laptop", "OS": "MSW-07", "LRTime": "2017-05-04"}}
{"obj_class": "Monitor "," obj_instance ":" Monitor-1 "," Relations_tree ":" Start.HInfo.Monitor.Monitor-1 ", // Этот Monitor-1 указывает, что Monitor имеет только 1 экземпляр" Monitor ": {" HInfoID ": "ABCD1234", "Index": "0", "Type": "Lenovo", "VSData": "XYZVN"}}
{"obj_class": "Cables", "obj_instance": "Cables-1", "ratio_tree": "Start.HInfo.Cables.Cables-1",
"Cables": {"HInfoID": "ABCD1234", "Index": "0", "Имя": "L C", "Статус": "Установлено"}}
{"obj_class": "Кабели", "obj_instance": "Кабели-2" , "lation_tree ":" Start.HInfo.Cables.Cables-2 ",
" Кабели ": {" HInfoID ":" ABCD1234 "," Индекс ":" 1 "," Имя ":" WLSwitch " "," Status ":" Off "}}
{" obj_class ":" Cables "," obj_instance ":" Cables-3 "," ratio_tree ":" Start.HInfo .Cables.Cables-3 ",
" Кабели ": {" HInfoID ":" ABCD1234 "," Индекс ":" 2 "," Имя ":" WLAN "," Статус ":" Установлено "}}
{"obj_class": "NFan", "obj_instance": "NFan-1", "ratio_tree": "Start.HInfo.NFan.NFan-1",
" NFan ": {" HInfoID ":" ABCD1234 "," Index ":" 0 "}}
{" obj_class ":" Disk "," obj_instance ":" Disk-1 "," ratio_tree ":" Start.HInfo.Disk.Disk-1 ",
" Диск ": {" HInfoID ":" ABCD1234 "," Index ": 0," Имя ":" DISK0 "," MKMdl ":" THB "," BW_MB ": 694}}
{" obj_class ":" Partition "," obj_instance ":" Partition-1 "," ratio_tree ":" Start .HInfo.Disk.Disk-1.Partition.Partition-1 "," Partition ": {" HInfoID ":" ABCD1234 "," DGID ":" ABCD1234 "," Index ": 0," Name ":" Не используется "," SM ": 500}}
{" obj_class ":" Partition "," obj_instance ":" Partition-2 "," Relations_tree ":" Start.HInfo.Disk .Disk-1.Partition.Partition-2" , * 1 045 * "Раздел": {"HInfoID": "ABCD1234", "DGID": "ABCD1234", "Индекс": 1, "Имя": "C:", "SM": 476438}}
{"obj_class": "Диск", "obj_instance": "Диск-2", "Relations_tree": "Start.HInfo.Disk.Disk-2", "Диск": {" HInfoID ":" ABCD1234 "," Index ": 1," Name ":" DISK1 "," MKMdl ":" JFl sh "," BW_MB ": 0}}
{"obj_class": "Partition", "obj_instance": "Partition-1", "Relations_tree": "Start.HInfo.Disk.Disk-2.Partition.Partition-1", "Partition": {"HInfoID" : "ABCD1234", "DGID": "ABCD1234", "Index": 0, "Name": "E:", "SM": 7727}}
Есть ли универсальный c способ разбить вложенный файл json на несколько json вместе с его деревом отношений в первой строке (без жесткого кодирования узла / тега) с использованием Scala? Мгновенная помощь или предложение приветствуется.