3

我一直在尝试和测试以使其正常工作:将一系列字典绑定到数据网格。就像来自数据库一样。因此,不只显示 2 列或任何元数据列,例如 count 和 toStrings。

场景: 我正在基于 URL 下载 JSON。JSON 值有多种形式,但我可以将它们转换为字典或任何其他具有键和值的类型。每个 URL 都是单行/单条记录,我想在来自多个 URL 的数据网格中显示具有相同键的值。

我已经尝试了几十种可能的解决方案,例如扩展对象、将 JObject 直接放在 Gridview 中、使用数组、单个列表等。没有一个能接近我想要的。我想要的是:自动列检测并为加载的 JSON 显示正确的值。

例如这个 json: {"x":"a", "y":"b","z":"c"} 应该像这样在 GridView 中表示:

 x  | y   | z  
---------------
 a    b     c

当加载另一个返回 JSON 的代码部分(另一个 URL)时,它应该如下所示:

 x  | y   | z  
---------------
 a    b     c
 e    f     g

当前代码: 我现在拥有的是:

Dictionary < string, string> MyDictionary = new Dictionary < string, string>();
JObject parsed = JsonConvert.DeserializeObject< JObject>(jSonPart);

foreach (var x in parsed)
{
    MyDictionary.Add(x.Key,x.Value.Value<String>());
}
outputJson.Items.Add(MyDictionary);

// list of dictionaries. 
_jsonObjects.Add(MyDictionary.ToList());

这是我使用的一些分配:

List < List < KeyValuePair < String,String > > >  _jsonObjects = new List < List < KeyValuePair<String,String> > > ();
outputJson.ItemsSource = _jsonObjects;
4

0 回答 0