JSON:而不是{“result”:true}我得到的是真的(asp.net web api)

时间:2014-05-30 10:07:10

标签: c# android asp.net json asp.net-web-api

我使用asp.net web api来创建android可以使用的服务,所以我需要json因为解析。但是,我遇到了使用方法登录的问题。

其他方法很好,但在登录时我得到的是真的,而不是{“result”:true}。

我知道json获取对键和值,其中key是string,value是原始类型之一。但我仍然不知道为什么我也不会得到密钥....我是asp.net的新手,我第一次使用json,很抱歉,这个问题太容易了....

这是我的登录方式:

bool resulte = false;

    public bool ValidateLogin(string Username, string Password) 
    {


        if (Username.Equals("Admin") && Password.Equals("pass123"))
        {
            resulte = true;
            return resulte;
        }
        else 
        {
            resulte = false;
            return resulte;
        }
    }

谢谢你的帮助!!

3 个答案:

答案 0 :(得分:2)

    public Response ValidateLogin(string Username, string Password) 
    {
        Response result=new Response();

        if (Username.Equals("Admin") && Password.Equals("pass123"))
        {
            result.Result= true;
            return result;
        }
        else 
        {
            result.Result= false;
            return result;
        }
    }
public class Response()
{
   private bool Result {get;set;}
}

答案 1 :(得分:0)

您必须创建自己的json字符串并从方法返回。

我已经更改了你的代码..

bool resulte = false;

    public string ValidateLogin(string Username, string Password)
    {


        if (Username.Equals("Admin") && Password.Equals("pass123"))
        {
            resulte = true;
            return "{\"result\":true}";
        }
        else
        {
            resulte = false;
            return "{\"result\":true}";
        }
    }

答案 2 :(得分:0)

嗯...让我们试着让它更通用,比如

private string GetJsonFromBool(bool value)
{
    var data = new { result = value };
    return new System.Web.Script.Serialization.
        JavaScriptSerializer().Serialize(data);
}

// Then use it at your return statement of original method, like
return GetJsonFromBool(true); // or false

希望这会有所帮助......