0

由于某种原因,我无法使用 JSONBuilder 在 Groovy 中创建 JSON 对象

这是我所拥有的,但它又回来了{}:

import groovy.json.JsonBuilder

JsonBuilder builder = new JsonBuilder()
    builder {
        name "Name"
        description "Description"
        type "schedule type"
        schedule {
          recurrenceType "one time"
          start "${startDateTime}"
          end "${endDateTime}"
        }
        scope {
          entities ["${applicationId}"]
          matches [
            {
              tags [
                {
                  key "key name"
                  context "some context"
                }
              ]
            }
          ]
        }
      }

有谁知道用嵌套元素创建 JSON 对象的简单方法?

4

2 回答 2

1
  1. 如果您从 Groovy 对象创建 JSON,那么您可以使用;json输出

  2. 如果你有几个值要传递并创建一个 JSON 对象,那么你可以使用;JsonGenerator

  3. 或者您可以使用 JsonBuilder 或 StreamingJsonBuilder

检查groovy 文档

于 2020-05-20T05:22:40.703 回答
1

我倾向于发现JsonOutput对于已经构建的数据更容易使用。你的看起来像这样:

groovy.json.JsonOutput.toJson(
   [name: "Name",
    description: "Description",
    type: "schedule type",
    schedule: [
        recurrenceType: "one time",
        start: "${startDateTime}",
        end: "${endDateTime}"
    ],
    scope: [
        entities: ["${applicationId}"],
        matches: [
            [
                tags: [
                    [
                        key: "key name",
                        context: "some context"
                    ]
                ]
            ]
        ]
    ]]
)
于 2020-05-20T05:39:27.160 回答