zoukankan      html  css  js  c++  java
  • C#json 解析

      Json样例一:

    string jsonText=

    {Code":0,"Message":"成功","Data":{"BoardProvinceName":"上海","BoardCityName":"上海","BoardDetailAddress":"普陀区怒江北路449弄8号C5","CourierName":"15601804660","CourierMobile":"15601804660","CargoNo":89,"BoardNo":3,"BoxNo":2,"DoorNo":3,"ExpressNo":"333333","CargoPassword":null,"Size":3,"Status":2,"StoreTime":"/Date(1406772770183)/","ExtractionTime":"/Date(1415185496877)/","CustomerMobile":"15601804660","CourierPId":"321323198902082117"}}}
    JObject jo = JObject.Parse(jsonText);
    string strCode= jo["Code"].ToString();//Code:0
    string ddaf = GetJsonValue(jo.Children(), "BoardDetailAddress");//BoardDetailAddress:普陀区怒江北路449弄8号C5

     

       =====================================================================

      不带==》 “[”
     string jsonData = "{"name":"lily","age":23,"addr":{"city":"guangzhou","province":"guangdong"}}";
    
                JObject jsonObj = JObject.Parse(jsonData);
              
                string strname = jsonObj["name"].ToString();
                string strprovince = GetJsonValue(jsonObj.Children(), "province");

       =====================================================================

     

     类:

     public  static string GetJsonValue(JEnumerable<JToken> jToken, string key)
            {
                IEnumerator enumerator = jToken.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    JToken jc = (JToken)enumerator.Current;
    
    
                    if (jc is JObject || ((JProperty)jc).Value is JObject)
                    {
                        return GetJsonValue(jc.Children(), key);
                    }
                    else
                    {
                        if (((JProperty)jc).Name == key)
                        {
    
                            return ((JProperty)jc).Value.ToString();
                        }
                    }
                }
                return null;
            }
    

     =================================================================================

            

      带==》 “[”
        string jsonText ="{'name':'test','phone':'18888888888','image':[{'name':'img1','data':'data1'},{'name':'img2','data':'data2'},{'name':'img3','data':'data3'}]}";
    
        string jsonText1 = "{'name':'test','phone':'18888888888','image':[{'name':'img1','data':'data1'}]}";
    
         JObject jo = (JObject)JsonConvert.DeserializeObject(jsonText);
         string zone = jo["name"].ToString();
         string zone_en = jo["phone"].ToString();
         JArray jar = JArray.Parse(jo["image"].ToString());
    
        string c = zone;
        string d = zone_en;
    
        for (var i = 0; i < jar.Count; i++)
       {
           JObject j = JObject.Parse(jar[i].ToString());
    
           string a = j["name"].ToString();
    
          string b = j["data"].ToString();
        }

      

       多层嵌套

    string jsonData1 = "{"addr":[{"city":"guangzhou","province":"guangdong"},{"city":"guiyang","province":"guizhou"}]}";
                JObject jsonObj1 = JObject.Parse(jsonData1);
                JArray jar1 = JArray.Parse(jsonObj1["addr"].ToString());
                JObject j0 = JObject.Parse(jar1[0].ToString());
                JObject j1 = JObject.Parse(jar1[1].ToString());
                string city1 = j0["city"].ToString();   //guangzhou
                string city2 = j0["city"].ToString();   //guiyang
    

      

      以上亲测可用

     

  • 相关阅读:
    Windows 运行 中的命令
    Base64 实现。名家手笔
    熊猫烧香病毒专杀及手动修复方案
    pdf病毒的源代码(VBS)
    Base64 实现。名家手笔
    pdf病毒的源代码(VBS)
    Code:关于加密解密 Base64 and URL and Hex Encoding and Decoding
    wmDrawer:实用的步骤启动器
    gnormalize:音频转换对象
    Avidemux:视频编纂软件
  • 原文地址:https://www.cnblogs.com/laopo/p/5408688.html
Copyright © 2011-2022 走看看