C#后臺(tái)接受前臺(tái)JSON字符串裝換成字典集合處理
一直以來,我們都是在服務(wù)端查詢出結(jié)果生成JSON字符串,供前端調(diào)用,那么我們能否把從前端接受的JSON字符串轉(zhuǎn)換成字典集合,讓后臺(tái)處理呢?
比如從前端接收:{'size':'10', 'weight':'10kg'}
在服務(wù)端轉(zhuǎn)換成:[{size:"10"},{weight:"10kg"}]這樣的字典集合
通過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); } } }
以上,通過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實(shí)體,給product.ProductDetails屬性賦值,程序會(huì)自動(dòng)完成轉(zhuǎn)換,這樣我們就可以遍歷product.ProductDetailList,將相應(yīng)的值插入數(shù)據(jù)庫(kù),或做其他處理。
- 詳談js遍歷集合(Array,Map,Set)
- js實(shí)現(xiàn)復(fù)制功能(多種方法集合)
- jQuery實(shí)現(xiàn)簡(jiǎn)單復(fù)制json對(duì)象和json對(duì)象集合操作示例
- JS中的算法與數(shù)據(jù)結(jié)構(gòu)之集合(Set)實(shí)例詳解
- Redis緩存,泛型集合與json字符串的相互轉(zhuǎn)換實(shí)例
- python將字典內(nèi)容寫入json文件的實(shí)例代碼
- python字典與json轉(zhuǎn)換的方法總結(jié)
- python 如何將字典寫為json文件
- JavaScript?數(shù)據(jù)結(jié)構(gòu)之字典方法
- JavaScript字典與集合詳解
相關(guān)文章
C#編程實(shí)現(xiàn)獲取文件夾中所有文件的文件名
這篇文章主要介紹了C#編程實(shí)現(xiàn)獲取文件夾中所有文件的文件名,可實(shí)現(xiàn)獲取特定目錄下制定類型文件名稱的功能,涉及C#針對(duì)文件與目錄的遍歷、查詢等操作相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11C# WinForm控件對(duì)透明圖片重疊時(shí)出現(xiàn)圖片不透明的簡(jiǎn)單解決方法
這篇文章主要介紹了C# WinForm控件對(duì)透明圖片重疊時(shí)出現(xiàn)圖片不透明的簡(jiǎn)單解決方法,結(jié)合實(shí)例形式分析了WinForm圖片重疊后造成圖片不透明的原因與相應(yīng)的解決方法,需要的朋友可以參考下2016-06-06C#使用遠(yuǎn)程服務(wù)調(diào)用框架Apache Thrift
這篇文章介紹了C#使用遠(yuǎn)程服務(wù)調(diào)用框架Apache Thrift的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06