简体   繁体   English

Json格式-Scala

[英]Json format - scala

I need to build a Json format in the following way in scala. 我需要在Scala中以以下方式构建Json格式。 How to implement the same ? 如何实现相同?

{
 "name": "protocols",
 "children": [
  {
   "name": "tcp", "children": [
     {
      "name": "source 1",
    "children": [
     {
      "name": "destination 1",
        "children": [
     {
      "name": "packet 1"
     },
     {
      "name": "packet 4"
     }
   ]
     },
     {
      "name": "destination 2","children": [
     {
      "name": "packet 1"
     },

     {
      "name": "packet 4"
     }
   ]
     },

I need a tree structure like this to be wriiten to a file . 我需要一个像这样的树形结构写成一个文件。

If you are using play, your json structure can be represented with single case class 如果您使用play,则您的json结构可以用单个case类表示

Here is a sample, where this case class is called Node 这是一个示例,其中此案例类称为Node

import play.api.libs.json.Json

case class Node(name: String, children: List[Node] = Nil)

implicit val format = Json.format[Node]

val childSource1 = Node("destination 1", List(Node("packet 1"), Node("packet 4")))
val childSource2 = Node("destination 2", List(Node("packet 1"), Node("packet 4")))

val source1 = Node("source 1", List(childSource1, childSource2)) 

val example = Node("protocols", List(Node("tcp", List(source1))))

Json.prettyPrint(Json.toJson(example))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM