in Darabonba/Utils/JSONUtils.cs [120:154]
private static object ConvertNumber(object input)
{
if (input == null) return null;
var token = input as JToken;
if (token != null)
{
if (token.Type == JTokenType.Integer)
{
return token.ToObject<long>();
}
if (token.Type == JTokenType.Float)
{
return token.ToObject<double>();
}
if (token.Type == JTokenType.String)
{
return token.ToString();
}
if (token.Type == JTokenType.Array)
{
return HandleList(token.Children());
}
if (token.Type == JTokenType.Object)
{
return HandleMap(token.ToObject<Dictionary<string, object>>());
}
if (token.Type == JTokenType.Boolean)
{
return token.ToObject<bool>();
}
}
return input;
}