【发布时间】:2015-06-18 16:09:00
【问题描述】:
下面是我的json
{"Hello":[{"CompanyName":"one","ETA":"10","Invoice":{"TF1":" 49","BF1":" 49","MD1":"2 Km","FPk1":" 12","att":"1 mins"},"tf3":"49"},{"CompanyName":"one","ETA":"10","Invoice":{"TF1":" 49","BF1":" 49","MD1":"2 Km","FPk1":" 15","att":"1 mins"},"tf3":"49"}],"ChildPresent":true}
我正在反序列化所有内容,我的主要问题是 Invoice 对象 ("Invoice":{"TF1":" 49","BF1":" 49","MD1":"2 Km","FPk1":" 15","att":"1 mins"},"tf3":"49"}]),其中包含一堆键和值...问题在于“Invoice”对象中的键每 6 小时更改一次...我需要在 xaml 中同时显示键和值
现在我将上述 json 内容反序列化为 Modal,并将 Invoice 对象数据存储到 Dictionary 中
RootObject j = JsonConvert.DeserializeObject<RootObject>(json);
public class Hello {
public Dictionary<string, string> Invoice { get; set; }
public string CompanyName {get;set;}
public string ETA {get;set;}
}
当我写在 XAML{Binding Invoice[TF1]}
我得到了 TF1 的值,但我希望 TF1 键显示在 XAML 中。
【问题讨论】:
-
我已经反序列化了 json 并且 json 值被存储在字典中......你到底想要什么
-
public class Taxi { public Dictionary
Invoice { get;放; } 公共字符串是 { 得到;设置;} 公共字符串 ETA { 获取;放; } 公共字符串类型 { 获取;放; } 公共字符串 Lat { 获取;放; } 公共字符串 Lng { 获取;放; } } -
您的问题是您正在尝试绑定到 Dictionary
。字典在装订方面很糟糕。绑定将它们视为 IEnumerable >。这是一大堆废话。尽可能远离它。 -
IEnumerable
> 给定一个 json 反序列化错误 -
这样做有什么意义?如果您需要字典中的一个条目,只需在代码中检索它而不是绑定到它。绑定到检索值的属性,例如
public string RelevantInvoice {get { return Invoice[FirstName]; } }或类似的东西。
标签: c# wpf wcf windows-phone-8 windows-phone-8.1