Asp.Net Mvc Consume Url发布json数据

Jus*_*liz 1 json web-services asp.net-mvc-2

我想知道是否有人有任何指针来解析从Asp.Net中的URL消耗的json数据.我发现了很多关于模型绑定json数据类型的文档,但这是来自一个URL,我似乎无法找到一个例子.我发现的最接近的事情是datacontractjsonserializer,我似乎无法在输出json数据的URL的上下文中找到一个示例.任何帮助表示赞赏.

Dar*_*rov 8

您可以使用JavaScriptSerializer类.首先定义一个将保存数据的模型类.所以我们假设远程URL返回以下JSON:

{ name: 'John', addresses: [ { city: 'Paris' }, { city: 'London' } ] }
Run Code Online (Sandbox Code Playgroud)

可以用这个模型表示:

public class Person
{
    public string Name { get; set; }
    public Address[] Addresses { get; set; }
}

public class Address
{
    public string City { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后将收到的JSON反序列化回模型:

var serializer = new JavaScriptSerializer();
// TODO: Fetch the JSON from a remote URL
var json = "{name: 'foo', addresses: [{city: 'Paris'}, {city: 'London'}]}";
var person = serializer.Deserialize<Person>(json);
Run Code Online (Sandbox Code Playgroud)

更新:

要从远程URL获取JSON,您可以使用WebClient:

using (var client = new WebClient())
{
    string json = client.DownloadString("http://someurl.com");
}
Run Code Online (Sandbox Code Playgroud)