在使用C#讀取Json時,經常會遇到中文亂碼的問題。這是因為在Json中,中文字符默認會被轉義成Unicode編碼。在讀取時,我們需要將Unicode編碼重新解碼為中文字符。下面是一些解決方法:
// 方法一:使用JavaScriptSerializer string jsonString = "{\"name\": \"張三\"}"; JavaScriptSerializer serializer = new JavaScriptSerializer(); var obj = serializer.Deserialize(jsonString, typeof(object)); // 方法二:使用Newtonsoft.Json string jsonString = "{\"name\": \"張三\"}"; JObject obj = JObject.Parse(jsonString); // 方法三:手動解碼 string jsonString = "{\"name\": \"\\u5f20\\u4e09\"}"; string decoded = Regex.Unescape(jsonString); var obj = JObject.Parse(decoded);
其中,方法一使用C#自帶的JavaScriptSerializer類來解析Json,方法二使用第三方庫Newtonsoft.Json,方法三則是手動將Unicode編碼解碼為中文字符。在使用方法三時,需要注意字符串中的Unicode編碼格式必須為"\uXXXX"形式,否則會解碼失敗。
上一篇c#解析復雜json
下一篇vue 登錄權限判斷