Я пытаюсь создать динамический JSON с использованием ExpandoObject и IDictionary.
Во время динамического создания JSON могут быть случаи, когда имя или значение будут повторяться.Однако при добавлении повторяемого имени или значения в ExpandoObject выдается ошибка:
Элемент с тем же ключом уже добавлен.
Ниже приведен мой кодфрагмент:
DataTable dt_MappedColumns = (DataTable)ViewState["MappedColumns"];
dynamic ManCols = new ExpandoObject();
var dictionary1 = (IDictionary<string, object>)ManCols;
foreach (DataRow dr in dt_MappedColumns.Rows)
{
dictionary1.Add(dr["TColumnName"].ToString(), dr["AColumnName"].ToString());
}
string Manjson = Newtonsoft.Json.JsonConvert.SerializeObject(dictionary1);
DataTable
выглядит следующим образом:
Sr.No TColumnName AColumnName
----- ----------- -----------
1 Apple Lion
2 Orange Tiger
3 Mango Fox
4 Orange Wolf
В приведенной выше таблице первые 3 строки успешно добавлены в dictionary1
;однако, когда мы пытаемся добавить четвертую строку, она выдает ошибку.
Моя желаемая структура JSON для повторяющихся значений будет выглядеть следующим образом:
{"Apple": "Lion"," Orange ": [" Tiger "," Wolf "]," Mango ":" Fox "}
Возможно ли создать эту структуру JSON из таблицы?