ln.json/ln.json/mapping/JSONExceptionMapping.cs

28 lines
747 B
C#

using System;
namespace ln.json.mapping
{
public class JSONExceptionMapping : JSONMapping
{
public JSONExceptionMapping()
: base(typeof(Exception))
{
}
public JSONExceptionMapping(Type exceptionType)
: base(exceptionType)
{
}
public override JSONValue ToJson(JSONMapper mapper, object value)
{
JSONObject jObject = new JSONObject();
Exception e = value as Exception;
jObject["ExceptionType"] = mapper.ToJson(value.GetType().Name);
jObject["Message"] = mapper.ToJson(e.Message);
jObject["InnerException"] = mapper.ToJson(e.InnerException);
return jObject;
}
}
}