JSONValue.ToNative() added

master
Harald Wolff 2019-08-19 14:14:15 +02:00
parent 0140149fe0
commit c1725c2a18
3 changed files with 10 additions and 1 deletions

View File

@ -1,6 +1,5 @@
using System;
using System.Globalization;
using System.Reflection;
namespace ln.json
{
public class JSONNumber : JSONValue
@ -8,6 +7,13 @@ namespace ln.json
public Decimal Decimal => decValue;
readonly decimal decValue;
public override object ToNative()
{
if (Decimal.Ceiling(decValue).Equals(Decimal.Floor(decValue)))
return (long)decValue;
return (double)decValue;
}
public JSONNumber(int i)
: this((long)i) { }

View File

@ -17,6 +17,7 @@ namespace ln.json
};
public string Value { get; private set; }
public override object ToNative() => Value;
public JSONString(String value)
:base(JSONValueType.STRING)

View File

@ -22,6 +22,8 @@ namespace ln.json
public virtual bool HasChildren => false;
public virtual IEnumerable<JSONValue> Children => throw new NotSupportedException();
public virtual object ToNative() => throw new NotImplementedException();
public JSONValue(JSONValueType valueType)
{
ValueType = valueType;