Eu tenho o json abaixo:
{
"script": {
"source": "ctx._source.PARAM = VALUE"
},
"query": {
"query_string": {
"fields": ["kpi","weekday","hour"],
"query": "(kpi:'KPI') AND (weekday:'WEEKDAY') AND (hour:'HOUR')"
}
}
}
Eu preciso representar essa estrutura para enviá-la numa requisição POST.
Pensei na estrutura abaixo:
Map<String, Map<String, String>> map = new HashMap<String, Map<String, String>>();
map.put("script", new HashMap<String, String>());
map.get("script").put("source", "ctx._source.PARAM = " + valor);
Map<String, Map<String, Map<String, String>>> map2 = new HashMap<String, Map<String, Map<String, String>>>();
map2.put("query", new HashMap<String, Map<String, String>>());
map2.get("query").put("query_string", new HashMap<String, String>());
map2.get("query").get("query_string").put("fields", "[\"kpi\",\"weekday\",\"hour\"]");
map2.get("query").get("query_string").put("query", "(kpi:'" + kpi +"') AND (weekday:'" + weekday +"') AND (hour:'" + hour +"')");
O problema é que desta forma a estrutura está separada em duas variáveis e eu preciso estruturar esse json em apenas uma variável.