最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#后臺(tái)接受前臺(tái)JSON字符串裝換成字典集合處理

 更新時(shí)間:2016年04月13日 09:24:46   作者:Darren Ji  
本文介紹C#利用Newtonsoft接收前端的JSON字符串,并解析反序列化成字典集合,對(duì)其進(jìn)行處理。

一直以來(lái),我們都是在服務(wù)端查詢出結(jié)果生成JSON字符串,供前端調(diào)用,那么我們能否把從前端接受的JSON字符串轉(zhuǎn)換成字典集合,讓后臺(tái)處理呢?

比如從前端接收:{'size':'10', 'weight':'10kg'}

在服務(wù)端轉(zhuǎn)換成:[{size:"10"},{weight:"10kg"}]這樣的字典集合

通過(guò)Newtonsoft的DeserializeObject<Dictionary<string, string>>方法可以把JSON字符串反序列化成字典集合。

假設(shè)有這樣的一個(gè)Model(實(shí)體)

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

public class Product
{
  public string ProductDetails { get; set; }
  public Dictionary<string, string> ProductDetailList
  {
    get
    {
      if (string.IsNullOrWhiteSpace(ProductDetails))
      {
        return new Dictionary<string, string>();
      }
      try
      {
        var obj = JToken.Parse(ProductDetails);
      }
      catch (Exception)
      {
        throw new FormatException("ProductDetails不符合json格式.");
      }
      return JsonConvert.DeserializeObject<Dictionary<string, string>>(ProductDetails);
    }
  }
}

以上,通過(guò)JToken.Parse判斷JSON字符串是否可以被轉(zhuǎn)換,如果不行就拋異常。通過(guò)JsonConvert.DeserializeObject<Dictionary<string, string>>(ProductDetails)反序列化成字典集合。

public void Main(string[] args)
{
  var product = new Product();
  product.ProductDetails = "{'size':'10', 'weight':'10kg'}";

  foreach(var item in product.ProductDetailList)
  {
    Console.WriteLine(item.Key + " " + item.Value);
  }

  Console.Read();
}

創(chuàng)建Product實(shí)體,給product.ProductDetails屬性賦值,程序會(huì)自動(dòng)完成轉(zhuǎn)換,這樣我們就可以遍歷product.ProductDetailList,將相應(yīng)的值插入數(shù)據(jù)庫(kù),或做其他處理。

相關(guān)文章

  • C# 中GUID生成格式的四種方法

    C# 中GUID生成格式的四種方法

    這篇文章主要介紹了C# 中GUID生成格式的四種方法,需要的朋友可以參考下
    2017-02-02
  • c#讀寫ini配置文件示例

    c#讀寫ini配置文件示例

    雖然c#里都是添加app.config 并且訪問(wèn)也很方便 ,有時(shí)候還是不習(xí)慣用他。那么我們來(lái)做個(gè)仿C++下的那種ini配置文件讀寫吧
    2014-04-04
  • C#算法之散列表

    C#算法之散列表

    本文詳細(xì)講解了C#算法之散列表,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • 同步調(diào)用和異步調(diào)用WebService

    同步調(diào)用和異步調(diào)用WebService

    本文給大家介紹webservice同步調(diào)用和異步調(diào)用,同步調(diào)用就是一個(gè)同步操作會(huì)阻塞整個(gè)當(dāng)前的進(jìn)程,直到這個(gè)操作完成才能執(zhí)行下一段代碼,異步調(diào)用不會(huì)阻塞啟動(dòng)操作的調(diào)用線程,調(diào)用程序必須通過(guò)輪流檢測(cè),或者等待完成信號(hào)來(lái)發(fā)現(xiàn)調(diào)用的完成。小伙伴們跟著小編一起學(xué)習(xí)
    2015-09-09
  • Unity實(shí)現(xiàn)游戲存檔框架

    Unity實(shí)現(xiàn)游戲存檔框架

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)游戲存檔框架,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • C#索引器介紹

    C#索引器介紹

    這篇文章主要介紹了C#索引器介紹,索引器是一種特殊的類成員,它能夠讓對(duì)象以類似數(shù)組的方式來(lái)存取,使程序看起來(lái)更為直觀,更容易編寫,需要的朋友可以參考下
    2014-10-10
  • C#TextBox設(shè)置提示文本方式(SetHintText)

    C#TextBox設(shè)置提示文本方式(SetHintText)

    這篇文章主要介紹了C#TextBox設(shè)置提示文本方式(SetHintText),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • C#將指定目錄所有文件名轉(zhuǎn)換成小寫的方法

    C#將指定目錄所有文件名轉(zhuǎn)換成小寫的方法

    這篇文章主要介紹了C#將指定目錄所有文件名轉(zhuǎn)換成小寫的方法,涉及C#中目錄的遍歷及filename.ToLowerInvariant方法的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 百度人臉識(shí)別之人臉識(shí)別FaceIdentify(簽到考勤)

    百度人臉識(shí)別之人臉識(shí)別FaceIdentify(簽到考勤)

    這篇文章主要為大家詳細(xì)介紹了百度人臉識(shí)別之人臉識(shí)別FaceIdentify,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • C#中的let字句應(yīng)用示例

    C#中的let字句應(yīng)用示例

    這篇文章主要給大家介紹了C#中的let字句,文中通過(guò)應(yīng)用實(shí)例介紹的很詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,有需要的朋友們下面來(lái)一起看看吧。
    2017-02-02

最新評(píng)論

宁波市| 桑植县| 剑河县| 神农架林区| 庆元县| 德化县| 大田县| 齐齐哈尔市| 昌图县| 奈曼旗| 右玉县| 卓资县| 平顺县| 滁州市| 宣化县| 台南县| 岫岩| 望都县| 精河县| 鄂伦春自治旗| 阿合奇县| 太仆寺旗| 乐清市| 农安县| 墨江| 银川市| 沁水县| 绥江县| 中西区| 舒兰市| 迭部县| 兴宁市| 莱西市| 弥渡县| 梁河县| 偏关县| 布拖县| 朝阳区| 连城县| 石阡县| 金门县|