JSON:不是{"result":true},而是得到true (asp.net web api)

本文关键字:quot true asp net api web 不是 result JSON | 更新日期: 2023-09-27 18:05:58

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

其他方法都可以,但是在login中我只得到true,而不是{"result":true}。

我知道json得到对键和值,其中键是字符串和值是基本类型之一。但是我仍然不知道为什么我也得不到钥匙....我是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;
        }
    }

谢谢你的帮助!

JSON:不是{"result":true},而是得到true (asp.net web api)

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

您必须创建自己的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}";
        }
    }

嗯…让我们试着让它更通用一些,比如

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