Предполагается, что вы пытаетесь преобразовать:
Response from interface 1 = { "A": "value1", "B": "value2", "C": "value3" }
в:
Response from interface 2 = { "Q": "value1", "P": "value2", "R": "value3" }
Вы можете использовать любую библиотеку, которая выполняет преобразования JSON, например this или это .Например, вы можете определить свое преобразование следующим образом:
var template = {
Q: '$.A',
P: '$.B',
R: '$.C'
};
var input = { "A": "value1", "B": "value2", "C": "value3" };
var output = jsonPathObjectTransform(input, template);
// -> output = { "Q": "value1", "P": "value2", "R": "value3" }
Использование Java с Толчок (я не смог проверить это, но это общая идея):
String input = "{\n" +
" \"A\": \"value1\",\n" +
" \"B\": \"value2\",\n" +
" \"C\": \"value3\"\n" +
"}"
String spec = "[\n" +
" {\n" +
" \"operation\": \"shift\",\n" +
" \"spec\": {\n" +
" \"A\": \"Q\",\n" +
" \"B\": \"P\",\n" +
" \"C\": \"R\"\n" +
" }\n" +
" }\n" +
"]\n"
Chainr chainr = JsonUtils.jsonToList(spec);
Object output = chainr.transform(input);
// -> output = { "Q": "value1", "P": "value2", "R": "value3" }