在Json层次结构中找到一个包含值的分支

时间:2019-05-17 15:36:22

标签: scala circe

我有一个响应JSON多层次结构的服务,我需要对其进行解析并提取一个包含具有特定属性值的节点的单个分支。

考虑以下JSON层次结构示例响应:

{
  "sku": "ROOT"
  "children": [
   {"sku": "MIDCHILD1", 
     "children": [{"sku": "CHILD1"}, {"sku": "CHILD2"}]},
   {"sku": "MIDCHILD2", 
     "children": [{"sku": "CHILD3", {"sku": "CHILD4"}}]}
  ]
}

我需要使用Circe使用Scala来实现一个功能,以提取一个分支,前提是该分支接收到一个sku值,该值可能在层次结构的任何级别都可以找到。

预期结果示例:

  • 由sku ROOT提供的资金应提取[ROOT,MIDCHILD1,CHILD1,CHILD2,MIDCHILD2,CHILD3,CHILD4]
  • 通过sku MIDCHILD1查找应该提取[ROOT,MIDCHILD1,CHILD1,CHILD2]
  • 通过sku CHILD2查找应该提取[ROOT,MIDCHILD1,CHILD2]

有人知道使用Circe实现这一目标的简单方法吗?

0 个答案:

没有答案