1
我有變體和子變量,這個子變體是那些將在不同測試中出現的實體。如何在嵌套的json結構中合併重複的子記錄?
現在我想從json結構的嵌套子對象中刪除重複的子變體。
JSON結構:
[
{
"ParentVariantName": "Variant1",
"TestList": [
{
"TestId": 100,
"Version": 0,
"SubVariantsList": []
]
},
{
"TestId": 101,
"Version": 1.0,
"SubVariantsList": [
{
"SourceSubVariantModel": {
"Id": 69,
"Name": "Abc",
"DiffPerc": 100
},
"TargetSubVariantModel": {
"Id": 70,
"Name": "Pqr",
"DiffPerc": 200
}
},
{
"SourceSubVariantModel": {
"Id": 70,
"Name": "Pqr",
"SourceValue": 200
},
"TargetSubVariantModel": {
"Id": 71,
"Name": "Xyz",
"TargetValue":300
}
}
]
},
{
"TestId": 247,
"Version": 3.0,
"SubVariantsList": []
},
{
"TestId": 248,
"Version": 4.0,
"SubVariantsList": []
},
{
"TestId": 249,
"Version": 5.0,
"SubVariantsList": []
},
{
"TestId": 250,
"Version": 6.0,
"SubVariantsList": []
}
]
}
]
對於例如:在上述JSON結構爲TestId = 101:
Id 70 is repeating 2 times and so i want to merge duplicate records
並希望這樣輸出:
預期輸出:
[
{
"ParentVariantName": "Variant1",
"TestList": [
{
"TestId": 100,
"Version": 0,
"SubVariantsList": []
]
},
{
"TestId": 101,
"Version": 1.0,
"SubVariantsList": [
{
"Id": 69,
"Name": "Abc",
"DiffPerc": 100
},
{
"Id": 70,
"Name": "Abc",
"DiffPerc": 200
},
{
"Id": 71,
"Name": "Abc",
"DiffPerc": 300
},
]
},
{
"TestId": 247,
"Version": 3.0,
"SubVariantsList": []
},
{
"TestId": 248,
"Version": 4.0,
"SubVariantsList": []
},
{
"TestId": 249,
"Version": 5.0,
"SubVariantsList": []
},
{
"TestId": 250,
"Version": 6.0,
"SubVariantsList": []
}
]
}
]
這就是我努力:
foreach (var item in data)
{
foreach (var testList in item.TestList)
{
foreach (var cdList in testList.SubVariantsList)
{
if (list.Count == 0)
{
list.Add
(
new
{
}
)
}
}
}
}
在你的預期JSON你還沒有合併重複的,你剛纔被忽視的一個。你決定忽略重複的條件是什麼? –
@Reddy:看到我的expedted json輸出,你會看到在TestId 101下我有2個Id,值爲70,在我的預期輸出中我合併了2條記錄,因爲兩者都是相同的。 –