2016-01-15 102 views
1

我在我的控制下JsonResult:JsonResult返回空的Json

public JsonResult SearchRxNormDrugs(string term) 
{ 
    var matches = rxnConsoService.SearchRxNormDrugs(term); 

    return Json(matches, JsonRequestBehavior.AllowGet); 
} 

当调试项目中,我可以看到matches有300+的结果吧。所有的比赛都有内容。然而,当我浏览到的URL这个动作,结果我得到的回复是以下几点:

(点击图片查看它全尺寸) enter image description here

型号:

public class RxNConso 
{ 
    [KeyProperty(Identity = true)] 
    string RXCUI { get; set; } 
    string LAT { get; set; } 
    string TS { get; set; } 
    string LUI { get; set; } 
    string STT { get; set; } 
    string SUI { get; set; } 
    string ISPREF { get; set; } 
    string RXAUI { get; set; } 
    string SAUI { get; set; } 
    string SCUI { get; set; } 
    string SDUI { get; set; } 
    string SAB { get; set; } 
    string TTY { get; set; } 
    string CODE { get; set; } 
    string STR { get; set; } 
    string SRL { get; set; } 
    string SUPPRESS { get; set; } 
    string CVF { get; set; } 
} 

matchesRxNConso

IEnumerable<RxNConso> matches 

上是什么导致了这种任何想法的IEnumerable

+0

看起来你的JSON结果也有“300+”的结果(我没有把它们计算在内......) - 也就是说它和'matches'一样。你需要检查一些比赛的内容是什么,而不仅仅是其中的300个。例如,试试这个:var m = matches.First(); return Json(m,JsonRequestBehavior.AllowGet);'(取决于匹配类型) –

+0

@ freedomn-m所有结果/匹配都包含内容,我应该已添加到原始帖子。我现在要做。这就是让我困惑的事情。 – Quiver

+4

我们可以看到您想要序列化的类吗? – krillgar

回答

4

大多数序列化库只关心可公开访问的属性/字段。很可能你的类只有私有字段/属性,这可以解释为什么你可以在调试器中看到这些值,但是在序列化时会得到一个空的结果。

+2

在向我的帖子添加更多信息之后,我意识到我的'模型'中的属性未公开。解决了这个问题,谢谢! – Quiver