RestSharp Serializer Setter无效

时间:2012-09-11 12:11:42

标签: asp.net-mvc json json.net restsharp

我正在努力使用EF4与MVC API进行RestSharp对话,我非常接近使其工作。为了克服股票序列化程序的界面限制,我使用的是Json.NET序列化程序。对于反序列化,它开箱即用,但我不能让RestSharp使用我的自定义序列化器。方法Serialize未被调用。一切都很好,但不起作用。这是代码:

var client = CreateClient();
// client.Authenticator = new HttpBasicAuthenticator(username, password);
var request = new RestRequest("api/{type}s", Method.GET);
request.AddUrlSegment("type", typeof(T).Name);
request.RequestFormat = DataFormat.Json;
request.AddParameter("criteria", criteria);
IRestResponse<List<T>> response = client.Execute<List<T>>(request);
HandleResponse(response);
return response.Data;

有什么想法吗?

修改

我尝试按照示例更改post方法以接受JObject并且它有效!但是尝试调用jitem.ToObject<Item>()会导致以下异常:

Error converting value "System.Collections.Generic.List`1[DataAbstractionLayer.Poco.ItemCheckpoint]" to type 'System.Collections.Generic.ICollection`1[DataAbstractionLayer.Poco.ItemCheckpoint]'.

但更有趣的是内在异常:

Could not cast or convert from System.String to System.Collections.Generic.ICollection`1[DataAbstractionLayer.Poco.ItemCheckpoint].

可能是Json.NET自动将集合项转换为字符串吗?

0 个答案:

没有答案