C# 格式化JSON的兩種實現(xiàn)方式
當(dāng)我們拿到一大段JSON字符串的時候,分析起來簡直頭皮發(fā)麻,相信很大一部分朋友也都會直接去BEJSON等網(wǎng)站去做一個JSON格式化,已方便自己查看數(shù)據(jù)、分析日志等
本篇我們可以使用JSON.NET來實現(xiàn)JSON數(shù)據(jù)的格式化。
實現(xiàn)功能:
- 格式化JSON字符串
開發(fā)環(huán)境:
- 開發(fā)工具: Visual Studio 2013
- .NET Framework版本:4.5
實現(xiàn)代碼:
//第一種方式
private void btnFormat1_Click(object sender, EventArgs e)
{
if (textBox1.Text.Length == 0)
{
return;
}
try
{
JsonSerializer serializer = new JsonSerializer();
TextReader tr = new StringReader(textBox1.Text);
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,//縮進字符數(shù)
IndentChar = ' '//縮進字符
};
serializer.Serialize(jsonWriter, obj);
textBox1.Text = textWriter.ToString();
}
}
catch (Exception ex)
{
MessageBox.Show("錯誤的JSON");
}
}
//第二種方式
private void btnFormat2_Click(object sender, EventArgs e)
{
if (textBox1.Text.Length == 0)
{
return;
}
try
{
//JObject.ToString()方法會內(nèi)部調(diào)用格式化,所以直接使用即可
string json = textBox1.Text.Trim();
//判讀是數(shù)組還是對象
if (json.StartsWith("["))
{
JArray jobj = JArray.Parse(textBox1.Text);
textBox1.Text = jobj.ToString();
}
else if (json.StartsWith("{"))
{
JObject jobj = JObject.Parse(textBox1.Text);
textBox1.Text = jobj.ToString();
}
}
catch (Exception ex)
{
MessageBox.Show("錯誤的JSON");
}
}
//清空
private void btnClear_Click(object sender, EventArgs e)
{
textBox1.Text = "";
}
實現(xiàn)效果:

到此這篇關(guān)于C# 格式化JSON的兩種實現(xiàn)方式的文章就介紹到這了,更多相關(guān)C# 格式化JSON內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解析美國東部時間與北京時間相互轉(zhuǎn)換的實現(xiàn)代碼
本篇文章是對美國東部時間與北京時間相互轉(zhuǎn)換的實現(xiàn)代碼進行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05

