簡體   English   中英

在C#中由字典鍵形成json

[英]forming json from dictionary keys in c#

我在C#中有這段代碼,該代碼按日期提供了我的數據字典,除了將密鑰序列化為json之外,它的工作原理非常完美。 json最終只是該類的toString()屬性,而不是我期望的屬性名稱和值。 集合中每個鍵的項目都可以很好地序列化。 這是我的代碼:

  list = m
  .GroupBy(x => new StatCallDateModel { DateText = x.DateText })
  .ToDictionary(x => x.Key, x => x.ToList()
  .ConvertAll(c => (object)new { Agent = c.Agent, Talk = c.Talk }));
   return list;

我注意到的一件事是,當我將日期對象添加到鍵下的集合中時,json可以很好地解析。 事實是它是字典中的鍵,可以像這樣進行解析。 我正在使用此代碼來形成d3圖表的json; 因此格式很重要。

有沒有辦法解決這個問題,或者沒有字典就可以得到與此類似的json嗎?

我在堆棧溢出中發現了這篇文章

它向我指出了正確的方向,簡短的答案是一個字典,其中包含一個字符串,其中包含一個鍵字符串,這使我在大多數情況下都...我只是想將鍵用作d3腳本中的屬性。

 List<object> ops = m.GroupBy(x => x.Agent).ToList()
 .ConvertAll(c => (object)new { Agent = c.First().Agent});
  list = m
 .GroupBy(x => string.Format(@"""DateText"": {0}", x.DateText ))
 .ToDictionary(x => x.Key, x => x.ToList()
 .ConvertAll(c => (object)new { Datetext = c.DateText,  Agent = c.Agent, 
  Talk = c.Talk  })));
  list.Add("keys", ops);

因此,此代碼由日期字符串鍵入密鑰,並且在字典的最終密鑰中具有代理的密鑰。 根本不需要更改sql。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM