C# Json格式字符串

转自
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;
        }
    }
}

你可能感兴趣的:(json,c#)