visual studio 2019
.net Core 3.1
web api
输入如下代码
[HttpGet("test")]
public ActionResult TestGet() {
var x = new SelectObject();
x.Label = "test";
x.Value = "123456";
var y = new SelectObject2();
y.name = "test2";
y.obj = x;
return Ok(x);
}
可以正常返回
{
"value": "123456",
"label": "test"
}
如果将代码返回的x对象改成y对象,就是有关联关系的对象,代码如下
[HttpGet("test")]
public ActionResult TestGet() {
var x = new SelectObject();
x.Label = "test";
x.Value = "123456";
var y = new SelectObject2();
y.name = "test2";
y.obj = x;
return Ok(y); // x改成了y
}
则返回结果就变成了空对象
{}
这是怎么回事,哪位大侠来解一下?
我猜测你的 SelectObject2 应该是这样定义的:
public class SelectObject2
{
pubilc string name;
public SelectObject1 obj;
// others
}
而 SelectObject1 是这样定义的
public class SelectObject1
{
public string Label{ get; set; }
public string Value{ get; set; }
// others
}
所以,为什么 return OK() 返回的是一个空对象的原因,应该是你的 SelectObject2 没有定义属性