程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#後台接收前台JSON字符串裝換成字典聚集處置

C#後台接收前台JSON字符串裝換成字典聚集處置

編輯:C#入門知識

C#後台接收前台JSON字符串裝換成字典聚集處置。本站提示廣大學習愛好者:(C#後台接收前台JSON字符串裝換成字典聚集處置)文章只能為提供參考,不一定能成為您想要的結果。以下是C#後台接收前台JSON字符串裝換成字典聚集處置正文


一向以來,我們都是在辦事端查詢出成果生成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();
}

創立Product實體,給product.ProductDetails屬性賦值,法式會主動完成轉換,如許我們便可以遍歷product.ProductDetailList,將響應的值拔出數據庫,或做其他處置。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved