如何在webAPi中将对象列表获取到JSon

詹妮(LL Janneh)

我正在asp.net webAPi上工作,我创建了一个LoanInfo类,该类的值在函数中设置,最后将LoanInfo放入列表中。我想在Json中获取LoanInfo的所有值,但是List总是返回空值,例如[{},{}]。我想念的是什么。这是loanInfo

public class LoanInfo
        {

             private String EmpID;
             private String amount;


            public LoanInfo(String EmpID,String amount)
            {


                this.EmpID = EmpID;
                this.amount = amount;

            }

这是方法

 public IEnumerable Get()
        {
            var con = new SqlConnection(sqlConStr);
            List<LoanInfo> loanInfo = new List<LoanInfo>();
            String query = "select EmpID,amount from employeeLoan";
            var cmd = new SqlCommand(query, con);

            try
            {
                con.Open();
                SqlDataReader read = cmd.ExecuteReader();
                while (read.Read())
                {
                    loanInfo.Add(new LoanInfo(read[0].ToString(), read[1].ToString()));
                }

                return loanInfo.ToList();
            }
            catch (Exception ex)
            {

                String a = ex.Message;
                return null;
            }
            finally
            {
                con.Close();
            }

        }

提前致谢!!

费利佩·奥里亚尼(Felipe Oriani)

原因是您具有私有属性,然后在进行序列化时,它无法读取私有值。尝试在您的DTO私有字段上设置属性

public class LoanInfo
{    
     public string EmpID { get; set; }
     public string Amount { get; set; }

    public LoanInfo(string empID, String amount)
    {
        this.EmpID = EmpID;
        this.Amount = amount;
    }
}

我已经重构了您的代码,请尝试以下操作:

public IEnumerable<LoanInfo> Get()
{
    List<LoanInfo> loanInfo = new List<LoanInfo>();

    using (var con = new SqlConnection(sqlConStr))
    {
        try
        {
            con.Open();
            var cmd = new SqlCommand("select EmpID, amount from employeeLoan", con);
            SqlDataReader read = cmd.ExecuteReader();
            while (read.Read())
            {
                loanInfo.Add(new LoanInfo(read[0].ToString(), read[1].ToString()));
            }
        }
        catch (Exception ex)
        {
            return null;
        }
        finally
        {
            con.Close();
        }   
    }

    return loanInfo;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章