C# JSON

1、C# 获取json中某key对应的值,支持迭代

复制代码
 1 /// <summary>
 2 /// 从json中获取对应key的value值
 3 /// </summary>
 4 /// <param name="json字符串"></param>
 5 /// <param name="需要取value对应的key"></param>
 6 /// <returns></returns>
 7 public string GetJsonValue(string strJson , string key) 
 8 {
 9     //测试:
10     //strJson = @"{'1':{'id':{'ip':'192.168.0.1','p':34,'pass':'ff','port':80,'user':'t'}},'code':0}";
11     //key = "user"
12     string strResult="";
13     JObject jsonObj = JObject.Parse(strJson);
14     strResult = GetNestJsonValue(jsonObj.Children(), key);
15     return strResult;
16 }
17 /// <summary>
18 /// 迭代获取eky对应的值
19 /// </summary>
20 /// <param name="jToken"></param>
21 /// <param name="key"></param>
22 /// <returns></returns>
23 public string GetNestJsonValue(JEnumerable<JToken> jToken, string key) 
24 {
25     IEnumerator enumerator = jToken.GetEnumerator();
26     while (enumerator.MoveNext()) 
27     {
28         JToken jc = (JToken)enumerator.Current;
29         if (jc is JObject || ((JProperty)jc).Value is JObject) 
30         {
31             return GetNestJsonValue(jc.Children(), key);
32         } else 
33         {
34             if (((JProperty)jc).Name == key) 
35             {
36                 return ((JProperty)jc).Value.ToString();
37             }
38         }
39     }
40     return null;
41 }
View Code
复制代码

 

posted @   船长华莱士  阅读(108)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示