token.Type
JSON 文字列を解析し、プロパティを使用して type の値を検出したいと思いますJTokenType.TimeSpan
。
入力文字列で TimeSpan を表現する方法がわかりません。すべてが JTokenType.String として解釈されるようです。
var timeSpanString = TimeSpan.FromHours(1).ToString();
testString = string.Format(@"{{""Value"": ""{0}"" }}", timeSpanString);
var statObject = JObject.Parse(testString);
JToken token = statObject["Value"];
var tokenValue = token.ToString();
var tokenType = token.Type; // JTokenType.String
私も試しました:
JValue jValue = new JValue("test");
jValue.Value = TimeSpan.FromHours(1);
bool isTimeSpan = jValue.Type == JTokenType.TimeSpan; // true!
testString = string.Format(@"{{""Value"": ""{0}"" }}", jValue.Value);
var statObject = JObject.Parse(testString);
JToken token = statObject["Value"];
var tokenValue = token.ToString();
var tokenType = token.Type; // JTokenType.String
少なくとも tokenType JTokenType.TimeSpan のJValueオブジェクトを生成しますが、解析すると JTokenType.String として表示されます。
これは、DateTime オブジェクトに対して完全に機能します。解析された値の型が であるような入力文字列を表現するにはどうすればよいJTokenType.TimeSpan
ですか?