c # Преобразовать словарь <строка, список <>> в словарь <строка, объект> - PullRequest
0 голосов
/ 17 января 2019

как добавить строку в вывод Json c # (linq)

// Dictionary<string, List<object>>
var res = results.Where(x=>x.ConfidenceScore>0)
                            .GroupBy(x=>x.PropertyName)
                            .ToDictionary(g=>g.Key, 
                                    g=> g.Select(x=>x.Value.ToString()).ToList()
                                    ); 

>>> ??? res["OcrText"] = doc.Text;
Console.Out.WriteLine(JsonConvert.SerializeObject(res));

В настоящее время я должен скопировать весь словарь в другой элемент be для типов приведения

Dictionary<string, object> ugly = new Dictionary<string, object>();

foreach (var item in res)
{
  ugly.Add(item.Key, item.Value);
}
ugly["OcrText"] = doc.Text;

1 Ответ

0 голосов
/ 17 января 2019

Если я вас правильно понимаю, и вы просто хотите конвертировать Dictionary<string, List<object>> в Dictionary<string, object>()

Вы можете использовать ToDictionary

var result = dict.ToDictionary(x => x.Key, x => (object)x.Value);

Однако его спорна, почему вы хотели бы сделать это

или, может быть, вы хотите

var res = results.Where(x => x.ConfidenceScore > 0)
               .GroupBy(x => x.PropertyName)
               .ToDictionary(g => g.Key,
                  g => (object)g.Select(x => x.Value.ToString()).ToList()
               );

Хотя, сказав это, меня довольно смущает вопрос, и я думаю, что вам нужно прояснить ситуацию подробнее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...