ln.json/mapping/JSONIPv4Mapping.cs

26 lines
647 B
C#

using System;
using ln.types.net;
namespace ln.json.mapping
{
public class JSONIPv4Mapping : JSONMapping
{
public JSONIPv4Mapping() : base(typeof(IPv4))
{
}
public override object FromJson(JSONMapper mapper, JSONValue json)
{
if (json is JSONNumber)
{
return new IPv4((uint)(((JSONNumber)json).Decimal));
}
else
{
return IPv4.Parse(((JSONString)json).Value);
}
}
public override JSONValue ToJson(JSONMapper mapper, object value) => new JSONString(value.ToString());
}
}