国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#后臺接受前臺JSON字符串裝換成字典集合處理

2019-10-29 21:29:41
字體:
來源:轉載
供稿:網友
本文介紹C#利用Newtonsoft接收前端的JSON字符串,并解析反序列化成字典集合,對其進行處理。
 

一直以來,我們都是在服務端查詢出結果生成JSON字符串,供前端調用,那么我們能否把從前端接受的JSON字符串轉換成字典集合,讓后臺處理呢?

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

在服務端轉換成:[{size:"10"},{weight:"10kg"}]這樣的字典集合

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

假設有這樣的一個Model(實體)

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);    }  }}

以上,通過JToken.Parse判斷JSON字符串是否可以被轉換,如果不行就拋異常。通過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();}

創建Product實體,給product.ProductDetails屬性賦值,程序會自動完成轉換,這樣我們就可以遍歷product.ProductDetailList,將相應的值插入數據庫,或做其他處理。



注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 保定市| 普兰县| 阜宁县| 来安县| 阜宁县| 眉山市| 江城| 大田县| 新晃| 墨江| 内江市| 蒙城县| 盘锦市| 马尔康县| 石首市| 连江县| 仁怀市| 客服| 博野县| 西林县| 全州县| 新营市| 江西省| 民权县| 盐津县| 巴青县| 屏山县| 衡阳市| 沾化县| 即墨市| 雷州市| 麻江县| 邳州市| 昌吉市| 广元市| 香河县| 古交市| 太谷县| 洪洞县| 洮南市| 上饶县|