查找 Json return 字符串的空记录

Finding null records for Json return string

我使用 MySQL 数据库创建了一个 WEB API。根据我发送 YESNO 的数据。

API 是如何工作的?

我正在传递仪表序列号和日期时间。 API 接收到它们。 +- 时间分钟并显示该时间的所有记录。

有什么问题?

关于我发送 API 的任何内容,我总是收到 YES 回复。

下面是我的代码

 public class ResponseChecker
{
    public string Response { get; set; }

    public ResponseChecker(IEnumerable result)
    {

        if (result.ToString().ToList().Count()>0)
        {
            Response = "Yes";
        }
        else
        {
            Response = "No";
        }
    }
}

public MDCEntities medEntitites = new MDCEntities();
 try
        {
            var before = dt.AddMinutes(-5);
            var after = dt.AddMinutes(5);

            var result = medEntitites.tj_xhqd
                         .Where(m =>
                         m.zdjh == msn &&
                         m.sjsj >= before &&
                         m.sjsj <= after).Select(m => new { MSN = m.zdjh, DateTime = m.sjsj, Signal_Strength = m.xhqd }).Distinct();


            return Request.CreateResponse(HttpStatusCode.OK, new { data = new ResponseChecker(result)});
        }
        catch (Exception ex)
        {
            return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex);
        }

我得到的回复如下

{
"data": {
    "Response": "YES"    }
}

我已经尝试了所有方法来检查 result 中的任何空记录,因为我厌倦了 == null!= null.Any() 等。但仍然无法得到我想要的结果。

另外 result.ToString().ToList().Count()>0 部分总是给我 true

非常感谢任何帮助。

你试过打印结果是什么吗?

if (result.ToString().ToList().Count()>0)

你可以这样做:

var result = medEntitites.tj_xhqd
                     .Where(m =>
                     m.zdjh == msn &&
                     m.sjsj >= before &&
                     m.sjsj <= after).Select(m => new { MSN = m.zdjh, DateTime = m.sjsj, Signal_Strength = m.xhqd }).Distinct().ToList();

并且只需简单计数即可验证结果的数量。