Sql 仅当作为JSON返回时,.NET API对象数组才会变为空对象

Sql 仅当作为JSON返回时,.NET API对象数组才会变为空对象,sql,.net,json,api,Sql,.net,Json,Api,我有一个.NETAPI,它正式地用模型呈现视图,但现在设置为将模型作为JSON直接返回给API调用方。在使用模型渲染视图时,我有一个填充良好的对象数组。当严格返回JSON数据时,它几乎丢失了所有这些数据 运行调试器时,返回的数据是存在的,但最终结果是一个空对象,而不是一个对象数组 伪代码: obj.property1 = sqlQuery1.ToArray(); //Empty object if returned using Ok(result) obj.property2 = sqlQuer

我有一个.NETAPI,它正式地用模型呈现视图,但现在设置为将模型作为JSON直接返回给API调用方。在使用模型渲染视图时,我有一个填充良好的对象数组。当严格返回JSON数据时,它几乎丢失了所有这些数据

运行调试器时,返回的数据是存在的,但最终结果是一个空对象,而不是一个对象数组

伪代码:

obj.property1 = sqlQuery1.ToArray(); //Empty object if returned using Ok(result)
obj.property2 = sqlQuery2.ToArray(); //Empty object if returned using Ok(result)
obj.property3 = sqlQuery3.ToArray(); //This one comes through for some reason

//Pack these objects into array
return Ok(result); //Most properties become {}, debugging confirms they exist at this point
return View(result); //All properties render normally

问题解决了。问题是模型使用了
[DataContract]
,这导致了空对象。删除此选项可以安全地解决问题。

什么类型的结果是
result
?它是一个
JObject
还是
JArray
result
是一个模型对象,里面有很多属性。好的,你能发布一个来帮助我们重现你看到的问题吗?Fiddler是一个很好的调试工具。