ln.json/ln.json/mapping/JSONRPCResultMapping.cs

31 lines
966 B
C#

using ln.type.rpc;
namespace ln.json.mapping
{
public class JSONRPCResultMapping : JSONMapping
{
public JSONRPCResultMapping() : base(typeof(RPCResult))
{
}
public override JSONValue ToJson(JSONMapper mapper, object value)
{
RPCResult rpcresult = value as RPCResult;
JSONObject result = new JSONObject();
result["id"] = JSONMapper.DefaultMapper.ToJson(rpcresult.Identifier);
if (rpcresult.ErrorText != null)
{
result["error"] = new JSONObject();
result["error"]["message"] = JSONMapper.DefaultMapper.ToJson(rpcresult.ErrorText);
result["error"]["exception"] = JSONMapper.DefaultMapper.ToJson(rpcresult.Exception);
}
else
{
result["result"] = JSONMapper.DefaultMapper.ToJson(rpcresult.Result);
}
return result;
}
}
}