簡體   English   中英

將C#datetime轉換為Json序列化的日期格式

[英]Convert C# datetime to Json serialized Date Format

我需要一些幫助

我正在嘗試通過向其發送json對象來進行API調用。

但是我正在努力將C#日期時間轉換為正確的json格式。

這是我的示例代碼。

HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("example.com");

httpWebRequest.ContentType = "text/json";

httpWebRequest.Method = "POST";

using (StreamWriter streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{

    string json = "{\"ReferenceNumber\":\"Testing OAKLAND\",\"CustomerNotes\":\"Testing\",\"DeliveryDate\":" + "Date(" + System.DateTime.Now.Ticks + ")" +
                         ",\"OrderLineItems\":[{\"ItemEntityId\":14771,\"Quantity\":2}]}";

    streamWriter.Write(json);
    streamWriter.Close();
}

HttpWebResponse httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();

using (StreamReader streamReader = new StreamReader(httpResponse.GetResponseStream()))
{

    string responseText = streamReader.ReadToEnd();

    Response.Write(responseText);
    Response.End();
    }

請指導我如何在json中格式化日期時間,你們是否認為json這個json對象很好?? 我正在使用.NET 2.0框架

請改用序列化。 它將處理您需要進行的任何轉義和轉換。

對於.NET 2.0,您沒有繁瑣的匿名類型,因此必須為要序列化的數據創建一個模型類:

public class OrderModel {
  private string _referenceNumber;
  public string ReferenceNumber {
    get { return _referenceNumber; }
    set { _referenceNumber = value; }
  }
  ...
  class OrderItem {
    private int _itemEntityId;
    public int ItemEntityId {
      get { return _itemEntityId; }
      set { _itemEntityId; }
    }
    ....
  }
}

您可以使用JSON.netSerializeObject方法

string json = JsonConvert.SerializeObject(new OrderModel {
  ReferenceNumber = "Testing OAKLAND",
  CustomerNotes = "Testing",
  DeliveryDate = DateTime.Now,
  OrderLineItems = new List<OrderItem>() {
    new OrderItem { ItemEntityId = 14771, Quantity = 2 }
  }
});

我知道這似乎是更多代碼,但相信我,它將為您和其他查看您代碼的其他開發人員節省很多麻煩。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM