#include <iostream>
#include <regex>
using namespace std;
int main (int argc, const char * argv[]) {
std::string test = R"(
"People"
{
"Person 1"
{
"age" "34"
"name" "John"
"gender" "male"
"skills"
{
"skill 1" "Intelligent"
"skill 2" "Wise"
"skill 3" "Buff as a bear!"
}
}
"Person 2"
{
"age" "25"
"name" "Jamie"
"gender" "helicopter"
}
}
)";
regex reg(R"(("[^"]+")\s+("[^"]+"))");
test = std::regex_replace(test, reg, "$1:$2,");
regex reg2(R"((?:\A|\n)\s*("[^"]+")\s*(\n|\Z))");
test = std::regex_replace(test, reg2, "$1:");
regex reg3(R"(}\s*("[^"]+"):\s*\{)");
test = std::regex_replace(test, reg3, "},\n$1: {");
regex reg4(R"(,\s*})");
test = std::regex_replace(test, reg4, "}");
cout << "{" << test << "}" << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cmVnZXg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbiAoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiBhcmd2W10pIHsKc3RkOjpzdHJpbmcgdGVzdCA9IFIiKAoiUGVvcGxlIgp7CiAgICAiUGVyc29uIDEiCiAgICB7CiAgICAgICAgImFnZSIgICAgICAgIjM0IgogICAgICAgICJuYW1lIiAgICAgICJKb2huIgogICAgICAgICJnZW5kZXIiICAgICJtYWxlIgogICAgICAgICJza2lsbHMiCiAgICAgICAgewogICAgICAgICAgICAic2tpbGwgMSIgICAiSW50ZWxsaWdlbnQiCiAgICAgICAgICAgICJza2lsbCAyIiAgICJXaXNlIgogICAgICAgICAgICAic2tpbGwgMyIgICAiQnVmZiBhcyBhIGJlYXIhIgogICAgICAgIH0KICAgIH0KICAgICJQZXJzb24gMiIKICAgIHsKICAgICAgICAiYWdlIiAgICAgICAiMjUiCiAgICAgICAgIm5hbWUiICAgICAgIkphbWllIgogICAgICAgICJnZW5kZXIiICAgICJoZWxpY29wdGVyIgogICAgfQp9CikiOwpyZWdleCByZWcoUiIoKCJbXiJdKyIpXHMrKCJbXiJdKyIpKSIpOwp0ZXN0ID0gc3RkOjpyZWdleF9yZXBsYWNlKHRlc3QsIHJlZywgIiQxOiQyLCIpOwpyZWdleCByZWcyKFIiKCg/OlxBfFxuKVxzKigiW14iXSsiKVxzKihcbnxcWikpIik7CnRlc3QgPSBzdGQ6OnJlZ2V4X3JlcGxhY2UodGVzdCwgcmVnMiwgIiQxOiIpOwpyZWdleCByZWczKFIiKH1ccyooIlteIl0rIik6XHMqXHspIik7CnRlc3QgPSBzdGQ6OnJlZ2V4X3JlcGxhY2UodGVzdCwgcmVnMywgIn0sXG4kMTogeyIpOwpyZWdleCByZWc0KFIiKCxccyp9KSIpOwp0ZXN0ID0gc3RkOjpyZWdleF9yZXBsYWNlKHRlc3QsIHJlZzQsICJ9Iik7CmNvdXQgPDwgInsiIDw8IHRlc3QgPDwgIn0iIDw8IGVuZGw7Cn0=
{"People":{"Person 1": {
"age":"34",
"name":"John",
"gender":"male","skills": {
"skill 1":"Intelligent",
"skill 2":"Wise",
"skill 3":"Buff as a bear!"}
},
"Person 2": {
"age":"25",
"name":"Jamie",
"gender":"helicopter"}
}
}