欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C#如何實(shí)現(xiàn)json格式數(shù)據(jù)解析功能

這篇文章主要介紹了C#如何實(shí)現(xiàn)json格式數(shù)據(jù)解析功能,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司,專注網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、網(wǎng)站營(yíng)銷推廣,國(guó)際域名空間,網(wǎng)站空間,網(wǎng)站托管維護(hù)有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問(wèn)題,請(qǐng)聯(lián)系創(chuàng)新互聯(lián)。

具體如下:

來(lái)寫(xiě)寫(xiě)json的解析吧

首先添加web引用

System.Web.Extensions

路徑

c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\System.Web.Extensions.dll

接下來(lái)就是兩個(gè)函數(shù)了,一個(gè)是根據(jù)key來(lái)獲取,一個(gè)是根據(jù)index來(lái)獲取

public static bool GetValue(string json, string key, out string value)
{
  //解析失敗的默認(rèn)返回值
  value = "";
  JavaScriptSerializer serializer = new JavaScriptSerializer();
  try
  {
    Dictionary<string, object> obj_json = serializer.DeserializeObject(json) as Dictionary<string, object>;
    if (obj_json.ContainsKey(key))
    {
      value = serializer.Serialize(obj_json[key]);
      return true;
    }
    return false;
  }
  catch (Exception)
  {
    return false;
  }
}
public static bool GetValue(string json, int index, out string value)
{
  //解析失敗的默認(rèn)返回值
  value = "";
  JavaScriptSerializer serializer = new JavaScriptSerializer();
  try
  {
    object[] obj_json = serializer.DeserializeObject(json) as object[];
    if (obj_json.Length > index)
    {
      value = serializer.Serialize(obj_json[index]);
      return true;
    }
    return false;
  }
  catch (Exception)
  {
    return false;
  }
}

再上一段測(cè)試效果圖吧

測(cè)試文本(用的是  http://tools.jb51.net/tools/json/json_editor.htm 這個(gè)在線解析json的工具里提供的一段json格式,稍作修改 )

復(fù)制代碼 代碼如下:

{"a":[{"中國(guó)食譜":["上海醉蟹","北京鍋燒雞","川式?jīng)霭梏?quot;,"清真醬牛肉"],"更多":{"中式":["南","北",{"地方":["小吃","大餐"]},"更多選擇"]}},"其它"],"b":"123","c":32}

樹(shù)形結(jié)構(gòu)如圖

C#如何實(shí)現(xiàn)json格式數(shù)據(jù)解析功能

測(cè)試代碼(新建winform項(xiàng)目,添加引用,然后copy上方兩個(gè)靜態(tài)方法,窗體放一個(gè)textbox,雙擊窗體,哦對(duì),json文本我把放在了桌面名為1.txt的文件,因?yàn)楹芏嘁?hào),懶得替換成轉(zhuǎn)義的了)

private void Form1_Load(object sender, EventArgs e)
{
  string json = System.IO.File.ReadAllText(@"C:\Users\taoguo\Desktop\1.txt", Encoding.Default);
  string value;
  GetValue(json, "a", out value);
  GetValue(value, 0, out value);
  GetValue(value, "中國(guó)食譜", out value);
  textBox1.Text = value;
}

運(yùn)行結(jié)果

C#如何實(shí)現(xiàn)json格式數(shù)據(jù)解析功能

最后提一下,如果value是int類型的(比如說(shuō)"id":1),那么取id返回的文本是 1 ,

而如果value是字符串類型(比如說(shuō)"id":"1"),那么取id返回的文本是 "1",兩邊會(huì)有雙引號(hào),這里可以在方法里面稍作判斷

如下

public static bool GetValue(string json, string key, out string value)
{
  //解析失敗的默認(rèn)返回值
  value = "";
  JavaScriptSerializer serializer = new JavaScriptSerializer();
  try
  {
    Dictionary<string, object> obj_json = serializer.DeserializeObject(json) as Dictionary<string, object>;
    if (obj_json.ContainsKey(key))
    {
      //加上這個(gè)類型判斷即可
      if (obj_json[key] is System.String)
      {
        value = obj_json[key].ToString();
        return true;
      }
      value = serializer.Serialize(obj_json[key]);
      return true;
    }
    return false;
  }
  catch (Exception)
  {
    return false;
  }
}

C#是什么

C#是一個(gè)簡(jiǎn)單、通用、面向?qū)ο蟮木幊陶Z(yǔ)言,它由微軟Microsoft開(kāi)發(fā),繼承了C和C++強(qiáng)大功能,并且去掉了一些它們的復(fù)雜特性,C#綜合了VB簡(jiǎn)單的可視化操作和C++的高運(yùn)行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語(yǔ)法風(fēng)格、創(chuàng)新的語(yǔ)言特性和便捷的面向組件編程從而成為.NET開(kāi)發(fā)的首選語(yǔ)言,但它不適用于編寫(xiě)時(shí)間急迫或性能非常高的代碼,因?yàn)镃#缺乏性能極高的應(yīng)用程序所需要的關(guān)鍵功能。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“C#如何實(shí)現(xiàn)json格式數(shù)據(jù)解析功能”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

網(wǎng)頁(yè)標(biāo)題:C#如何實(shí)現(xiàn)json格式數(shù)據(jù)解析功能
標(biāo)題URL:http://chinadenli.net/article36/jggdsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站建設(shè)Google、關(guān)鍵詞優(yōu)化、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管
蜜桃传媒在线正在播放| 国产精品国产亚洲看不卡 | 国产精品人妻熟女毛片av久| 精品人妻一区二区三区四在线| 精品亚洲av一区二区三区| 五月综合婷婷在线伊人| 亚洲国产色婷婷久久精品| 99久久免费看国产精品| 丰满熟女少妇一区二区三区| 日本高清视频在线播放| 日韩精品免费一区二区三区| 东京热加勒比一区二区三区| 精品国产丝袜一区二区| 国产免费黄片一区二区| 亚洲天堂国产精品久久精品| 91人人妻人人爽人人狠狠| 大香蕉伊人精品在线观看| 欧美中文字幕日韩精品| 国产精品久久三级精品| 午夜精品久久久99热连载| 热情的邻居在线中文字幕| 国产三级黄片在线免费看| 在线视频三区日本精品| 久久精品伊人一区二区| 成人精品亚洲欧美日韩| 国产日韩欧美国产欧美日韩| 91偷拍裸体一区二区三区| 日韩偷拍精品一区二区三区 | 欧美野外在线刺激在线观看| 国产成人亚洲欧美二区综| 黄片免费在线观看日韩| 日韩av生活片一区二区三区| 国产又黄又猛又粗又爽的片| 国产毛片av一区二区三区小说| 亚洲一区二区三区四区性色av| 成人午夜爽爽爽免费视频| 99精品人妻少妇一区二区人人妻| 又黄又爽禁片视频在线观看| 欧美六区视频在线观看| 黄色在线免费高清观看| 熟女中文字幕一区二区三区|