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

C# 返回的json数组包含缺少所有属性的对象,c#,json,asp.net-web-api,C#,Json,Asp.net Web Api,Iam使用c webapi实现了一个webservice,但我的json响应数组为空 我的代码 public object Post([FromBody] castdet castdet1) { mid = castdet1.mid1; return Request.CreateResponse(jsonvalues(mid)); } private object jsonvalues(string mid) { Dat

Iam使用c webapi实现了一个webservice,但我的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响应字符串类似于[{},{}],它是空的。我出了什么问题?

您需要将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;
    }
}

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

@Rob:这正是我使用的代码,'castdet'是我用来获取每个值的列表。我可以设法获取这些值。但无法在json数组中显示。