Предполагая, что у меня есть входная и выходная полезная нагрузка json, как это.
{
"env": {
"CO2": "2",
"NO2": "3"
}
}
output:
{
"payload": {
"Environment": {
"carbon-di-oxide": "2",
"nitrogen-di-oxide": "3"
}
}
}
Предположим, что json сопоставления:
{
"mapping": {
"payload.Environment.carbon-di-oxide": "env.co2",
"payload.Environment.nitrogen-di-oxide": "env.co"
}
}
Итак, на основе сопоставления JSON, как я могу создать динамический JSON.Я написал сценарий, подобный следующему:
import groovy.json.*;
def input='{\"env\": {\"CO2\": \"2\",\"NO2\": \"3\"}}';
def jsonSlurper = new JsonSlurper();
def finalJson = jsonSlurper.parseText('{}') ;
def inputJson= jsonSlurper.parseText(input) ;
finalJson["carbon-di-oxide"]=inputJson.env.CO2;
finalJson["nitrogen-di-oxide"]=inputJson.env.NO2;
def content=new JsonBuilder( finalJson).toPrettyString();
println("content-->"+content)
, но здесь, как я могу динамически передавать вложенный вывод, например payload.Environment.carbon-di-oxide
, и создавать выходные данные на основе сопоставления json, как в javascript.Сначала будет создан скрипт groovy, основанный на отображении json.Затем на вход поступит ожидаемый результат.