在数据以动态数据类型存储时动态获取数据

时间:2017-04-21 11:22:56

标签: c# json wcf object dynamic

WCF服务正在返回客户端应用程序使用的JSON数据此JSON数据在Object中捕获并反序列化并以Dynamic Data类型存储,如图所示.WCF服务正在返回客户端应用程序使用的JSON数据此JSON数据捕获在Object中,并将其反序列化并以动态数据类型存储,如图所示

 dynamic data = JsonConvert.DeserializeObject(retVal.ToString());

其中retVal是我的Json数据

         {"txtEmpNoTo":123,"Name":"Leonel Messi"} 

并且数据的数量可能会有所不同

我也不知道财产的存在和价值。如何在不知道属性的情况下获取数据。

1 个答案:

答案 0 :(得分:0)

您可以使用json在不知道媒体资源名称的情况下阅读Dictionary<TKey, TValue>。使用convert只需json Dictionary<TKey, TValue> JsonConvert.DeserializeObject using System; using Newtonsoft.Json; using System.Collections.Generic; public class Program { public static void Main() { Console.WriteLine("Example #1"); string retVal = "{\"txtEmpNoTo\":123,\"Name\":\"Leonel Messi\"}"; Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string, string>>(retVal); foreach(var item in values) { Console.WriteLine(item.Value); } Console.WriteLine(""); Console.WriteLine("Example #2"); retVal = "{\"txtEmpNoTo\":123,\"Name\":\"Leonel Messi\",\"Team\":\"FC Barcelona\"}"; values = JsonConvert.DeserializeObject<Dictionary<string, string>>(retVal); foreach(var item in values) { Console.WriteLine(item.Value); } Console.WriteLine(""); Console.WriteLine("Example #3"); retVal = "{\"txtEmpNoTo\":123,\"Name\":\"Leonel Messi\",\"Team\":\"FC Barcelona\",\"Squad Number\":10,\"Date of Birth\":\"24-Jun-1987\"}"; values = JsonConvert.DeserializeObject<Dictionary<string, string>>(retVal); foreach(var item in values) { Console.WriteLine(item.Value); } } } 。请查看以下代码。

CODE:

execSQL()

输出:

enter image description here

您可以在DotNetFiddle中运行并查看。