我正在使用 JSON.net,我想要的是能够直接绑定动态反序列化的 JSON 以直接绑定为 XAML 中的属性,而无需为 JSON 转换定义基类。我的意思是运行时绑定而不是编译类型绑定 - 直接到各种元素,这样就不需要对每个 JSON 文件进行回编码:
void LoadJsonfrmWeb(object sender, OpenReadCompletedEventArgs e)
{
Stream stream = e.Result;
dynamic json = new ExpandoObject();
json = JsonHelpers.CreateFromJsonStream<ExpandoObject>(stream);
现在:在 UI 中,我希望能够为以下示例 JSON 执行此操作:
{
"id": "6",
"firstName": "Rose",
"lastName": "Tobin",
"age": 34,
"address":
{
"streetAddress": "Butterfly Cresecent",
"city": "Dublin",
"state": "IR",
"postalCode": "140085"
},
"phoneNumber":
[
{
"type": "home",
"number": "001 990-0018"
},
{
"type": "fax",
"number": "124 999-9808"
}
]
}
<Grid x:Name="detail" DataContext="{Binding Path=json}">
<TextBlock Text="{Binding Path=firstName.Value}" />
<TextBlock Text="{Binding Path=lastName.Value}" />
我已经尝试过 ImpromptuInterface,并探索了 DLR 的各种选项,但还不太能做到...... :(
任何想法,帮助或建议都非常期待,如果有人可以在这里帮助我,那就太好了.. :)
谢谢你们 :)
谢谢 ..