ASP.NET JSON 格式轉換

在這裡,選擇透過 (Json.NET)[https://www.newtonsoft.com/json/help/html/Introduction.htm] 這款套件來協助處理物件轉換為JSON格式

首先透過 NuGet 封裝管理員來新增套件

在專案> 右鍵 > 管理 NuGet 套件…

在 瀏覽> 輸入 json ,接著點選 Newtonsoft.Json

物件轉換JSON <=> JSON 轉換物件

透過 JsonConvert.SerializeObject 將物件轉換為JSON JsonConvert.DeserializeObject(json字串) 將JSON字串轉換為物件

可以使用

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
//Newtonsoft Json
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Product product = new Product();
        product.Name = "Apple";
        product.ExpiryDate = new DateTime(2008, 12, 28);
        product.Price = 3.99M;
        product.Sizes = new string[] { "Small", "Medium", "Large" };
        product.Roles = new List<string>
        {
            "Adam",
            "Brown"
        };

        //將 object 轉換 json 格式
        string output = JsonConvert.SerializeObject(product);
        Response.Write(output);
        //將json 轉換 object 格式
        Product deserializedProduct = JsonConvert.DeserializeObject<Product>(output);
        Response.Write(deserializedProduct.Name);
        Response.Write(deserializedProduct.ExpiryDate);
        Response.Write(deserializedProduct.Price);
        Response.Write(deserializedProduct.Sizes[0]);
    }
    class Product
    {
        public string Name { get; set; }
        public DateTime ExpiryDate { get; set; }
        public Decimal Price { get; set; }
        public string[] Sizes { get; set; }
        public IList<string> Roles { get; set; }
    }
}