У меня ниже код для создания JSON.
import groovy.json.*;
def input='{\"env\": {\"a\": 1,\"b\": 2,\"c\": 3,\"d\": 4}}';
def jsonSlurper = new JsonSlurper();
def inputJson= jsonSlurper.parseText(input);
def mapping = jsonSlurper.parseText("{}");
def NO2 = jsonSlurper.parseText("{}");
def CO2 = jsonSlurper.parseText("{}");
def SO2 = jsonSlurper.parseText("{}");
def CO = jsonSlurper.parseText("{}");
NO2["NO2"] = inputJson.env.c
mapping["ENVIRONMENT"] = NO2
CO2["CO2"] = inputJson.env.a
mapping["ENVIRONMENT"] = CO2
SO2["SO2"] = inputJson.env.d
mapping["ENVIRONMENT"] = SO2
CO["CO"] = inputJson.env.b
mapping["ENVIRONMENT"] = CO
def finalJson = new JsonBuilder(mapping).toPrettyString();
println finalJson
В приведенном выше коде это создает JSON, как это:
{
"ENVIRONMENT": {
"CO": 2
}
}
Но я не понимаю, почему он пропустил CO2, NO2 и SO2.
Требуемый вывод:
{
"ENVIRONMENT": {
"CO2": 1,
"CO":2,
"NO2":3,
"SO2":4
}
}
Есть ли способ, используя этот метод, я получаю этот JSON.
Спасибо:)