Json - c #, json में डेटाटाइम चर के लिए डिफ़ॉल्ट मान को शून्य पर कैसे सेट करें

मैं एक जेसन का उपयोग करता हूं और कक्षा परिभाषा नीचे वर्णित है

मैं शून्य के लिए डिफ़ॉल्ट मान कैसे सेट करूं?

[JsonProperty("Time2ATR")]
public DateTime time2atr { get; set; }

इसलिए मुझे "0001-01-01T00: 00: 00" का डिफ़ॉल्ट मान नहीं मिलता है यदि मैं इसे कोई मान निर्दिष्ट नहीं करता हूं?

नीचे पूरा कोड और डेटासमूह

 using Newtonsoft.Json;
// This namespace holds all indicators and is required. Do not change it.
namespace NinjaTrader.STSClasses
{
/// <summary>
/// This file holds all user defined indicator methods.
/// </summary>
public class STSmyTrade
{
[JsonProperty("direction")]
public string direction { get; set; }

[JsonProperty("entryprice")]
public double entry { get; set; }

[JsonProperty("exitprice")]
public double exit { get; set; }

[JsonProperty("potentialtarget")]
public double potentialtarget { get; set; }

[JsonProperty("entrytime")]
public DateTime entrytime { get; set; }

[JsonProperty("exittime")]
public DateTime exittime { get; set; }

[JsonProperty("maxfavourable")]
public double mfe { get; set; }

[JsonProperty("maxagainst")]
public double mae { get; set; }


[JsonProperty("maxagainst1ATR")]
public double mae1atr { get; set; }

[JsonProperty("Time1ATR")]
public DateTime time1atr { get; set; }

[JsonProperty("maxagainst2ATR")]
public double mae2atr { get; set; }
[JsonProperty("Time2ATR")]
public DateTime time2atr { get; set; }

[JsonProperty("gains")]
public double gains { get; set; }

[JsonProperty("signal")]
public string signal { get; set; }

[JsonProperty("instrument")]
public string instrument { get; set; }

[JsonProperty("account")]
public string account { get; set; }
[JsonProperty("quantity")]
public int quantity { get; set; }
[JsonProperty("hitedge")]
public bool hitedge { get; set; }
[JsonProperty("RealizedProfitLoss")]
public double RealizedProfitLoss { get; set; }
[JsonProperty("CashValue")]
public double CashValue { get; set; }
[JsonProperty("BuyingPower")]
public double BuyingPower { get; set; }
}
}

{
"direction": "Long",
"entryprice": 1.13211,
"exitprice": 1.13197,
"potentialtarget": 0.00025,
"entrytime": "2016-08-22T13:46:31.7459655-04:00",
"exittime": "2016-08-22T15:46:22.3955682-04:00",
"maxfavourable": 0.00055,
"maxagainst": -0.00035,
"maxagainst1ATR": -0.00035,
"Time1ATR": "0001-01-01T00:00:00",
"maxagainst2ATR": -0.00035,
"Time2ATR": "0001-01-01T00:00:00",
"gains": -0.00015,
"signal": "EnterLongBounce",
"instrument": "$EURUSD",
"account": "InteractiveBrokersindicatorbased",
"quantity": 1,
"hitedge": false,
"RealizedProfitLoss": 0.0,
"CashValue": 0.0,
"BuyingPower": 0.0
}");

उत्तर:

जवाब के लिए 3 № 1

यदि आप शून्य चाहते हैं तो आपको Nullable DateTime का उपयोग करना होगा DateTime?, डेटटाइम संरचना है और इसका डिफ़ॉल्ट मान "0001-01-01T00: 00: 00" है, इसलिए यह कभी भी शून्य नहीं हुआ।


जवाब के लिए 0 № 2

इस उत्तर को किसी अन्य प्रश्न से देखें DefaultValueHandling का उपयोग करना

मैंने इसे स्वयं नहीं देखा है लेकिन आप इसे आज़मा सकते हैं


संबंधित सवाल
सबसे लोकप्रिय