这个问题在这里已有答案:
我希望能够从任何地方访问我的数据,所以我创建了一个c#数据API,返回json for gets并接受json的帖子。所有方法都使用HTTPResponseMessage作为返回类型,以便我可以发回适当的响应。
在jquery ajax中它是一个简单易用的东西,它工作得很好但是当我尝试使用c#mvc时,我完全迷失了在哪里以及如何将从我的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();
对不起,如果我发布这个错误,我在这里没有问过很多问题。
我只想用api调用返回的json填充我的模型。
这一行:
var jsonContent = serializer.Deserialize<object>(content);
应改为:
var jsonContent = serializer.Deserialize<YourModelClass>(content);
其中YourModelClass
是您要反序列化的模型。
将json直接反序列化到您的模型类(在此示例中为ModelClass
,因为您未提供模型类定义)。
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;
}