如何使用来自 C# API JSON 的数据在 C# MVC 视图模型中填充我的模型?

How do I populate my model in C# MVC view model with data from C# API JSON?

我希望能够从任何地方访问我的数据,所以我制作了一个 c# 数据 API,returns json 用于获取,接受 json 用于帖子.所有方法都将 HTTPResponseMessage 用作 return 类型,以便我可以发回适当的响应。

在 jquery ajax 中,它使用起来很简单,而且效果很好,但是当我尝试使用 c# mvc 时,我完全不知道从哪里以及如何获取数据 return从我的 API 编辑到数据模型中。

我尝试在我的 viewModel 中使用它。它得到了数据,然后呢

    static public object GetProfile()
    {
        string url = "http://localhost:50121/api/Profile/1";
        var client = new WebClient();
        var content = client.DownloadString(url);
        var serializer = new JavaScriptSerializer();
        var jsonContent = serializer.Deserialize<object>(content);
        return jsonContent;
    }

    public readonly object d = GetProfile();

抱歉,如果我发错了,我没有在这里问太多问题。

我只想用 json return 调用 api 填充我的模型。

这一行:

var jsonContent = serializer.Deserialize<object>(content);

应改为:

var jsonContent = serializer.Deserialize<YourModelClass>(content);

其中 YourModelClass 是您要反序列化的模型。

直接反序列化 json 到您的模型 class(本例中为 ModelClass,因为您没有提供模型 class 定义)。

using Newtonsoft.Json; 
static public ModelClass GetProfile()
{
    string url = "http://localhost:50121/api/Profile/1";
    var client = new WebClient();

    //object serialised as json string
    var content = client.DownloadString(url);

    //object deserialised as ModelClass
    var model = JsonConvert.DeserializeObject<ModelClass>(json);
    return model;
}