我很擅长在应用程序中使用JSON,并做一些简单的编程,以便更好地理解如何解释和使用JSON数据。我有一个类Account
,方法getAccount
,它应该使用RestSharp来调用一个返回这个的JSON数组:
[{"account_id":"1"}]
我要做的是让JSON.Net序列化JSON响应并将数据拉入字符串,以便以后使用。
这就是我所拥有的:
class Account
{
public string account_id {get; set;}
public Account getAccount(String username, String password)
{
var client = new RestClient("http://www.myapiurl.com/api/");
var request = new RestRequest("login.php?username={username}&password={password}, Method.POST");
request.AddParameter("username", username);
request.AddParameter("password", password);
RestResponse response = (RestResponse)(client.Execute(request));
Account account = JsonConvert.DeserializeObject<Account>(response.ToString());
account_id = account.account_id.ToString();
}
}
}
我在VS2013中收到的错误消息是:
DataLogic.Account.getAccount(string,string)并非所有代码路径都返回值
我不确定我在哪里丢失代码以确保方法始终返回一个值,或者如何补偿它。
我们将非常感谢任何指导/解释,或就如何更好地处理这一概念提出建议。
谢谢!
答案 0 :(得分:1)
您的错误与JSON.Net或反序列化无关。你没有归还这个对象。
只需在方法的末尾添加以下行。
return account;
您的方法签名声明该方法将返回Account
public Account getAccount(String username, String password)
^^^^^^^
//return type
并且您的方法代码缺少return语句,因此错误。
答案 1 :(得分:1)
您需要从方法中返回一个值:
return account;
方法的返回类型在方法定义中描述:
public Account getAccount(String username, String password)