JSFiddle - React, Tailwind, and code Playground
JavaScript
// data
var json = [
{ "Group" : "A", "Key" : "Name", "Value" : "John" },
{ "Group" : "A", "Key" : "Age", "Value" : "30" },
{ "Group" : "A", "Key" : "City", "Value" : "London" },
{ "Group" : "B", "Key" : "Name", "Value" : "Hans" },
{ "Group" : "B", "Key" : "Age", "Value" : "35" },
{ "Group" : "B", "Key" : "City", "Value" : "Berlin" },
{ "Group" : "C", "Key" : "Name", "Value" : "José" },
{ "Group" : "C", "Key" : "Age", "Value" : "25" },
{ "Group" : "C", "Key" : "City", "Value" : "Madrid" }
];
// core
var array = [];
var previousGroup = null;
for(var i=0; i<json.length; i++) {
var group = json[i].Group;
if(previousGroup != group) {
array.push({Group: group});
previousGroup = group;
}
array[array.length-1][json[i].Key] = json[i].Value;
}
// print
for(var i=0; i<array.length; i++) {
for(var k in array[i]) {
document.write(k + " = " + array[i][k] + " ; ");
}
document.write("<br />");
}