zoukankan      html  css  js  c++  java
  • C#中服务端接受前端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();
    }

    遍历字典集合,可以把数据保存到数据库。

  • 相关阅读:
    搭建好lamp,部署owncloud。
    部署LAMP环境搭建一个网站论坛平台
    二进制编译安装httpd服务
    安装httpd服务并配置
    FTP的应用
    Linux配置IP,安装yum源
    RHEL-server-7.0-Linux-centos安装过程
    zabbix监控某一进程
    python获取windows系统的CPU信息。
    python相关cmdb系统
  • 原文地址:https://www.cnblogs.com/darrenji/p/5296221.html
Copyright © 2011-2022 走看看