C# 在c中使用json对象#
此Web服务正在返回json响应消息。如何将此消息用作.net项目(asp.net web app)中的对象您需要先将JSON数据导入对象,然后才能使用它。您可以从定义将处理响应的模型类开始:C# 在c中使用json对象#,c#,.net,asp.net,ajax,json,C#,.net,Asp.net,Ajax,Json,此Web服务正在返回json响应消息。如何将此消息用作.net项目(asp.net web app)中的对象您需要先将JSON数据导入对象,然后才能使用它。您可以从定义将处理响应的模型类开始: public class XurrencyResponse { public string Status { get; set; } public string Code { get; set; } public string Message { get; set; } p
public class XurrencyResponse
{
public string Status { get; set; }
public string Code { get; set; }
public string Message { get; set; }
public Result Result { get; set; }
}
public class Result
{
public decimal Value { get; set; }
public string Target { get; set; }
public string Base { get; set; }
public DateTime Updated_At { get; set; }
}
一旦您拥有了这些服务,您只需呼叫服务:
class Program
{
static void Main()
{
var serializer = new JavaScriptSerializer();
string json = null;
using (var client = new WebClient())
{
json = client.DownloadString("http://xurrency.com/api/eur/gbp/1.5");
}
var response = serializer.Deserialize<XurrencyResponse>(json);
Console.WriteLine(response.Status);
}
}
类程序
{
静态void Main()
{
var serializer=新的JavaScriptSerializer();
字符串json=null;
使用(var client=new WebClient())
{
json=client.DownloadString(“http://xurrency.com/api/eur/gbp/1.5");
}
var response=serializer.Deserialize(json);
控制台写入线(响应状态);
}
}
如果您引用System.Web.Extensions.dll
并使用System.Web.Script.Serialization添加代码>指令,然后您应该可以访问-然后您只需创建一个类似于JSON的类并调用`反序列化,即
{"result":{"updated_at":"2010-10-02T02:06:00Z", "value":1.3014,"target":"gbp","base":"eur"}, "code":0, "status":"ok"}
您可能有:
public class XurrencyResponse {
public class Result {
public string updated_at {get;set;}
public decimal value {get;set;}
public string target {get;set;}
public string base {get;set;}
}
public Result result {get;set;}
public int code {get;set;}
public string status {get;set;}
}
然后调用serializer.Deserialize
,其中serializer
是一个JavaScriptSerializer
实例。另一种方法是使用
我在解析Json数据时一直在使用这个库,并且对这个库非常满意,因为在解析简单的输出时,您不需要建模显式类来保存数据,并且在需要解析更复杂的输出时,它为您提供了高级功能
在做出选择之前,请先查看此库:)XurrencyResponse
,哈哈,你在读我的心思。相同的命名约定。我喜欢:-)@Darin-我不知道为什么,但我更喜欢JSON DTO的嵌套类型。我最初将其命名为“…Result”,但在本例中,它与内部Result