我正在构建一个web.api服务。在这个服务中,我有一个巨大的树结构缓存。这种结构具有无穷无尽的亲子关系深度。由于性能原因,整个树是具有对象之间链接的内存哈希表。这确保了我可以通过从哈希表中选择项目来非常快速地检索数据。
此方法由前端(angularjs)
调用 public ElementRefItem GetElementById(string element, int depth)
{
var node = GetNodeFromTree(element)
return element; <-- limit it to recursion depth.
}
如何通过metod中收到的深度限制web.api使用的json序列化程序的序列化?作为前端,我使用Angularjs。执行查询调用时,它返回List时有效,但返回字符串时,它会抱怨数据不是数组。
编辑:
我尝试了这个解决方案:How to serialize or deserialize a JSON Object to a certain depth in C#?虽然这会返回一个字符串而不是一个集合。
编辑:
经过一些尝试后,开始使用上面的帖子(创建一个HttpResponseMessage并将第一个字符转换为降低) property.PropertyName = Char.ToLowerInvariant(property.PropertyName [0])+ property.PropertyName.Substring(1);
我目前有一个问题。每个端节点都有子节点。对于每个孩子,我在字符串数组中得到一个空对象。我可以处理这个客户端,但我宁愿让它服务器端。虽然我不知道如何。