如何使用json从我的webservice返回到我的类中的数据

时间:2014-02-04 16:26:37

标签: c# json web-services json.net

基于http://json2csharp.com/,我有以下类:

public class Meta
{
    public string reason { get; set; }
    public bool success { get; set; }
}

public class Objects
{
    public int current_workspace { get; set; }
    public string first_name { get; set; }
    public bool is_staff { get; set; }
    public string key { get; set; }
    public string last_login { get; set; }
    public string last_name { get; set; }
    public string username { get; set; }
}

public class RootObject
{
    public Meta meta { get; set; }
    public Objects objects { get; set; }
}

如何使用以下方法在类的各个字段中获取数据:

public static void GetLoginDetails(string username, string password)
{
    // Customize URL according to geo location parameters
    var url = string.Format(loginUrl, username, password);

    // Syncronious Consumption
    var syncClient = new WebClient();
    var content = syncClient.DownloadString(url);

    if (!string.IsNullOrEmpty(content))
    {
        JsonConvert.DeserializeObject(content);
    }
}

我尝试了一些示例,但Objects类字段为空 注意:从调试开始,我可以看到内容变量中的数据。

1 个答案:

答案 0 :(得分:4)

更改此

JsonConvert.DeserializeObject(content);

到这个

RootObject myRootObject = JsonConvert.DeserializeObject<RootObject>(content);

然后您可以访问myRootObject的任何属性(如果它不为空,即myRootObject.meta.reasonmyRootObject.objects.key等。