我们是否可以把从前端接受的JSON字符串转换成字典集合呢?比如从前端接收:{size:10, weight:10kg}在服务端转换成:[{size:"10"},{weight:"10kg"}]这样的字典集合通过Newtons ...
我们是否可以把从前端接受的JSON字符串转换成字典集合呢?比如从前端接收:{'size':'10', 'weight':'10kg'}在服务端转换成:[{size:"10"},{weight:"10kg"}]这样的字典集合通过Newtonsoft的DeserializeObject<Dictionary<get='_blank'>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); } }}
最后,
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();}
原标题:C#中服务端接受前端JSON字符串转换成字典集合
关键词:C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。