返回的json数组包含缺少所有属性的对象

时间:2015-11-02 05:02:30

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

我使用c#webapi实现了一个web服务,但是我的json响应数组是空的。

我的代码

public object Post([FromBody] castdet castdet1)

    {
        mid = castdet1.mid1;
        return Request.CreateResponse(jsonvalues(mid));
    }
 private object jsonvalues(string mid)
    {
        DataTable dtalcast = GetAllcast();
        foreach (DataRow drow in dtalcast.Rows)
        {
           string mouvieid = drow["MovieMasterId"].ToString();
           string actname = drow["ActorName"].ToString();
           string charname = drow["CharacterName"].ToString();
           if (mouvieid == mid)
            { 
              temp = 1;
              castdet.Add(new myobject(actname, charname));

             }
           }
         return castdet;
       }

 public class castdet
    {
    public string mid1 { get; set; }
    }

   public class myobject
    {
      string actorname;
      string charactername;
     public myobject(string v1, string v2)
       {
        actorname = v1;
        charactername = v2;
       }
    }

我的json响应字符串就像这个[{},{}],它是空的。对我来说出了什么问题?

1 个答案:

答案 0 :(得分:0)

您需要将myobject的字段设为公开。或者更好的是让它们成为公共财产:

public class myobject
{
    public string actorname { get; set; }
    public string charactername { get; set; }

    public myobject(string actorname, string charactername)
    {
        this.actorname = actorname;
        this.charactername = charactername;
    }
}

(您可能还有其他问题 - 您的代码不完整且无法编译。此外,您应该修改您的方法以显式返回返回的实际类型,而不仅仅是返回object。这允许编译 - 时间检查类型错误。)