MvvmCross:SimpleRestService.cs中的JSON出错

时间:2013-05-22 16:34:34

标签: json mvvm xamarin mvvmcross

我正在尝试在N + 1天的MvvmCross中完成第6课,但无法使SimpleRestService工作。

  

05-22 16:14:38.156 I / mvx(2849):40.20创建MapViewModel类型的viewModel时遇到问题 - 问题MvxException:创建MyApp.Core.Services.SimpleRestService时,无法解析IMvxJsonConverter类型的参数jsonConverter的参数

     

Cirrious.CrossCore.Exceptions.MvxException:无法从定位器MvxDefaultViewModelLocator加载类型MyApp.Core.ViewModels.MyViewModel的ViewModel

SimpleRestService.cs与教程的相同,除了命名空间,接口也是如此。

namespace MyApp.Core.Services
{
public class SimpleRestService
    : ISimpleRestService
{
    private readonly IMvxJsonConverter _jsonConverter;

    public SimpleRestService(IMvxJsonConverter jsonConverter)
    {
        _jsonConverter = jsonConverter;
    }

    public void MakeRequest...
    private void MakeRequest...
    private T Deserialize<T>(string responseBody)
    {
        var toReturn = _jsonConverter.DeserializeObject<T>(responseBody);
        return toReturn;
    }
}

感谢。

1 个答案:

答案 0 :(得分:7)

错误消息显示:

  

MvxException:创建MyApp.Core.Services.SimpleRestService

时,无法解析IMvxJsonConverter类型的参数jsonConverter的参数

这表示您没有在IoC注册IMvxJsonConverter

你有一个吗? e.g:

  • 您是否在UI项目中引用并初始化了Json插件? (如果添加插件,Nuget会为您执行此操作)
  • 或(高级选项)您是否创建并注册了自己的IMvxJsonConverter?

在N + 1 N = 6视频中,Json插件大约在13:13添加 - 见http://www.youtube.com/watch?v=He6QvnLsPUA&feature=youtu.be&t=13m13s