在 Groovy 中生成 JSON 个对象

Generate JSON object in Groovy

出于某种原因,我无法使用 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 对象的简单方法吗?

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

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

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

检查 groovy documentation

我倾向于发现 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"
                    ]
                ]
            ]
        ]
    ]]
)