string formatJson(string json)
{
string result = "";
int level = 0;
for (string::size_type index = 0; index < json.size(); index++)
{
char c = json[index];
if (level > 0 && '\n' == json[json.size() - 1])
{
result += getLevelStr(level);
}
switch (c)
{
case '{':
case '[':
result = result + c + "\n";
level++;
result += getLevelStr(level);
break;
case ',':
result = result + c + "\n";
result += getLevelStr(level);
break;
case '}':
case ']':
result += "\n";
level--;
result += getLevelStr(level);
result += c;
break;
default:
result += c;
break;
}
}
return result;
}
string getLevelStr(int level)
{
string levelStr = "";
for (int i = 0; i < level; i++)
{
levelStr += "\t"; //这里可以\t换成你所需要缩进的空格数
}
return levelStr;
}