欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

假設(shè)有這樣的一個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字符串是否可以被轉(zhuǎn)換,如果不行就拋異常。通過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實體,給product.ProductDetails屬性賦值,程序會自動完成轉(zhuǎn)換,這樣我們就可以遍歷product.ProductDetailList,將相應(yīng)的值插入數(shù)據(jù)庫,或做其他處理。

相關(guān)文章

  • C# ListBox中的Item拖拽代碼分享

    C# ListBox中的Item拖拽代碼分享

    在本文中我們給大家分享了關(guān)于C#的ListBox中的Item拖拽的功能代碼分享,對此有需要的朋友參考學(xué)習(xí)下。
    2018-03-03
  • c# 異步編程基礎(chǔ)講解

    c# 異步編程基礎(chǔ)講解

    這篇文章主要介紹了c# 異步編程的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-04-04
  • C#算法之散列表

    C#算法之散列表

    本文詳細講解了C#算法之散列表,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • C#編程實現(xiàn)獲取文件夾中所有文件的文件名

    C#編程實現(xiàn)獲取文件夾中所有文件的文件名

    這篇文章主要介紹了C#編程實現(xiàn)獲取文件夾中所有文件的文件名,可實現(xiàn)獲取特定目錄下制定類型文件名稱的功能,涉及C#針對文件與目錄的遍歷、查詢等操作相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • C語言使用getch()讀取方向鍵

    C語言使用getch()讀取方向鍵

    getch()是編程中所用的函數(shù),這個函數(shù)是一個不回顯函數(shù),當(dāng)用戶按下某個字符時,函數(shù)自動讀取,無需按回車,有的C語言命令行程序會用到此函數(shù)做游戲,但是這個函數(shù)并非標(biāo)準函數(shù),要注意移植性
    2021-07-07
  • C# WinForm控件對透明圖片重疊時出現(xiàn)圖片不透明的簡單解決方法

    C# WinForm控件對透明圖片重疊時出現(xiàn)圖片不透明的簡單解決方法

    這篇文章主要介紹了C# WinForm控件對透明圖片重疊時出現(xiàn)圖片不透明的簡單解決方法,結(jié)合實例形式分析了WinForm圖片重疊后造成圖片不透明的原因與相應(yīng)的解決方法,需要的朋友可以參考下
    2016-06-06
  • C#中的多線程超時處理實踐方案

    C#中的多線程超時處理實踐方案

    這篇文章主要介紹了C#中的多線程超時處理實踐方案,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-01-01
  • C#使用遠程服務(wù)調(diào)用框架Apache Thrift

    C#使用遠程服務(wù)調(diào)用框架Apache Thrift

    這篇文章介紹了C#使用遠程服務(wù)調(diào)用框架Apache Thrift的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • .Net中的json操作類用法分析

    .Net中的json操作類用法分析

    這篇文章主要介紹了.Net中的json操作類用法分析,是非常實用的一個技巧,需要的朋友可以參考下
    2014-08-08
  • 深入理解C# 裝箱和拆箱(整理篇)

    深入理解C# 裝箱和拆箱(整理篇)

    通過裝箱和拆箱操作,能夠在值類型和引用類型中架起一做橋梁.換言之,可以輕松的實現(xiàn)值類型與引用類型的互相轉(zhuǎn)換
    2017-08-08

最新評論