Группировка по результату массива json с тем же именем ключа C#
public class NameDTO { public string Name; } public class ValDTO { public string Val; } _nameDetials = new List<NameDTO>();
В List _nameDetials я получаю ключи, а в _valDetails - значения, которые я использовал ниже для блока и добавил их в массив. В приведенных ниже значениях я получаю счет 20 в каждом из списков.
JArray jChildArray = новый JArray();
for (int i = 0; i < Math.Max(_nameDetials.Count, _valDetials.Count); i++) { JObject jChildObject = new JObject(); jChildObject.Add(_nameDetials[i].Name, _valDetials[i].Val); jChildArray.Add(jChildObject); }
У меня есть массив json, как показано ниже
[ { "message-Code": " 0" }, { "msg-Number-Pos1": "0" }, { "msg-Number-Pos2": "0" }, { "msg-Number-Pos3": " " }, { "message-Code": " 0" }, { "msg-Number-Pos1": "0" }, { "msg-Number-Pos2": "0" }, { "msg-Number-Pos3": " " }, { "message-Code": " 0" }, { "msg-Number-Pos1": "0" }, { "msg-Number-Pos2": "0" }, { "msg-Number-Pos3": " " }, { "message-Code": " 0" }, { "msg-Number-Pos1": "0" }, { "msg-Number-Pos2": "0" }, { "msg-Number-Pos3": " " }, { "message-Code": " 0" }, { "msg-Number-Pos1": "0" }, { "msg-Number-Pos2": "0" }, { "msg-Number-Pos3": "0" } ]
Я хочу сгруппировать эти данные, чтобы получить результат, как показано ниже.
[ { "message-Code": " 0", "msg-Number-Pos1": "0", "msg-Number-Pos2": "0", "msg-Number-Pos3": "0" }, { "message-Code": " 0", "msg-Number-Pos1": "0", "msg-Number-Pos2": "0", "msg-Number-Pos3": "0" }, { "message-Code": " 0", "msg-Number-Pos1": "0", "msg-Number-Pos2": "0", "msg-Number-Pos3": "0" }, { "message-Code": " 0", "msg-Number-Pos1": "0", "msg-Number-Pos2": "0", "msg-Number-Pos3": "0" }, { "message-Code": " 0", "msg-Number-Pos1": "0", "msg-Number-Pos2": "0", "msg-Number-Pos3": "0" } ]
Я хочу сгруппироваться на основе одних и тех же ключевых имен.
Я не могу проследить, что именно я упускаю.Или мы можем сгруппировать массив json в равное число, то есть 4 в моем случае.
Я новичок в c# и не могу найти подходящий код.
Кто-нибудь может помочь? Спасибо.
Что я уже пробовал:
Я попробовал следующий код
var grouparray = (from t in jChildArray group t by new { t } into grp select grp.Key.t).ToList();