#include <stdio.h>
int main() {
const char *json =
"{"
"\"name\": \"Tor\","
"\"age\": 35,"
"\"skills\": [\"C/C++\", \"Java\", \"Python\"]"
"}";
int indent = 0;
for (int i = 0; json[i] != '\0'; i++) {
char c = json[i];
if (c == '{' || c == '[') {
printf("%*s%c\n", indent, "", c);
indent += 2;
}
else if (c == '}' || c == ']') {
indent -= 2;
printf("%*s%c\n", indent, "", c);
}
else if (c == ',') {
printf("%c\n", c);
}
else {
printf("%*s%c", indent, "", c);
// print until next comma or brace
while (json[i+1] != ',' &&
json[i+1] != '}' &&
json[i+1] != ']' &&
json[i+1] != '\0') {
i++;
printf("%c", json[i]);
}
printf("\n");
}
}
return 0;
}
/*
run:
{
"name": "Tor"
,
"age": 35
,
"skills": ["C/C++"
,
"Java"
,
"Python"
]
}
*/