C# 在c中使用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

此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; }
    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