static JsonRemotingRequestBody() { SerializationConfig <JsonRemotingRequestBody> .RegisterSerializer(arg => { if (arg == null) { return(new Dictionary <string, object>() .SerializeToString()); } return(arg.Parameters .Select(x => new[] { x.Key, x.Value.SerializeObject() }) .SerializeToString()); }); SerializationConfig <JsonRemotingRequestBody> .RegisterDeserializer(arg => { var items = arg.Deserialize <string[][]>(); var results = items .Select(x => { return(new KeyValuePair <string, object>(x[0], x[1].DeserializeObject())); }) .ToDictionary(x => x.Key, x => x.Value); return(new JsonRemotingRequestBody { Parameters = results }); }); }