限制递归web.api

时间:2015-08-06 16:12:23

标签: c# asp.net-mvc asp.net-web-api json.net

我正在构建一个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);

我目前有一个问题。每个端节点都有子节点。对于每个孩子,我在字符串数组中得到一个空对象。我可以处理这个客户端,但我宁愿让它服务器端。虽然我不知道如何。

0 个答案:

没有答案