C#后臺接受前臺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ù)庫,或做其他處理。
- 詳談js遍歷集合(Array,Map,Set)
- js實現(xiàn)復(fù)制功能(多種方法集合)
- jQuery實現(xiàn)簡單復(fù)制json對象和json對象集合操作示例
- JS中的算法與數(shù)據(jù)結(jié)構(gòu)之集合(Set)實例詳解
- Redis緩存,泛型集合與json字符串的相互轉(zhuǎn)換實例
- python將字典內(nèi)容寫入json文件的實例代碼
- python字典與json轉(zhuǎn)換的方法總結(jié)
- python 如何將字典寫為json文件
- JavaScript?數(shù)據(jù)結(jié)構(gòu)之字典方法
- JavaScript字典與集合詳解
相關(guān)文章
C# WinForm控件對透明圖片重疊時出現(xiàn)圖片不透明的簡單解決方法
這篇文章主要介紹了C# WinForm控件對透明圖片重疊時出現(xiàn)圖片不透明的簡單解決方法,結(jié)合實例形式分析了WinForm圖片重疊后造成圖片不透明的原因與相應(yīng)的解決方法,需要的朋友可以參考下2016-06-06C#使用遠程服務(wù)調(diào)用框架Apache Thrift
這篇文章介紹了C#使用遠程服務(wù)調(diào)用框架Apache Thrift的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06