转自
C#格式化JSON字符串
很多时候我们需要将json字符串以
{
"status": 1,
"sum": 9
}
这种方式显示,而从服务端取回来的时候往往是这样
{"status": 1, "sum": 9}
这样就容易多了.代码没做错误处理,读者可自行更改
需要导入Newtonsoft.Json,这里使用的版本是4.5
using Newtonsoft.Json;
using System.IO;
public class JsonTools
{
public static string ConvertJsonString(string str)
{
//格式化json字符串
JsonSerializer serializer = new JsonSerializer();
TextReader tr = new StringReader(str);
JsonTextReader jtr = new JsonTextReader(tr);
object obj = serializer.Deserialize(jtr);
if (obj != null)
{
StringWriter textWriter = new StringWriter();
JsonTextWriter jsonWriter = new JsonTextWriter(textWriter)
{
Formatting = Formatting.Indented,
Indentation = 4,
IndentChar = ' '
};
serializer.Serialize(jsonWriter, obj);
return textWriter.ToString();
}
else
{
return str;
}
}
}