C#中的动态类型dynamic

1,动态类型dynamic最常见啊的使用就是在将json字符串接受下来,然后像操作是js操作json一样去处理数据,很轻盈的!废话不多说,上代码!

var  info = "{\"Account\":\"张三\",\"Pwd\":\"12323\"}";  //json字符串

var infoDynamic = JsonConvert.DeserializeObject<dynamic>(info);   //反序列化为 dynamic 对象

var AccountOne = infos.Account.Value;   // 结果为  "张三"

var AccountTwo = infos["Account"].Value;  // 结果为  "张三"

//上是处理当个对象,如果是处理多个对象的集合呢?很简单--把多个对象转成单个的去做处理不就行了

 string jsonstr = "{ \"listData\": [{\"Account\":\"张三\",\"Pwd\":\"12323\"},{\"Account\":\"李四\",\"Pwd\":\"9999\"}]  }";

 dynamic infosstr = JsonConvert.DeserializeObject(jsonstr);  

 var listobj= infosstr.listData;

  for (int i = 0; i < listobj.Count; i++)
  {
	string Accountv = listobj[i].Account.Value;   //获取到了 Account 的值!
  }

这是dynamic的简单用法,这个除外还有个类可以达到同样的效果

  JToken jt = JsonConvert.DeserializeObject<JToken>(resJsonStr);
  
 var data = jt["listData"].ToString();

也可以实现相同的效果!

你可能感兴趣的:(C#,.net,随笔)