我使用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响应字符串就像这个[{},{}],它是空的。对我来说出了什么问题?
答案 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
。这允许编译 - 时间检查类型错误。)