C#與JS之間相互傳遞數據的過程中,最常用的數據格式就是JSON。
在C#中,可以使用Newtonsoft.Json類庫來將對象轉換成JSON格式的字符串,如下所示:
using Newtonsoft.Json; ... MyModel model = new MyModel(); string json = JsonConvert.SerializeObject(model);在Javascript中,則可以使用JSON.parse()方法來將JSON格式的字符串解析成JS對象,如下所示:
var jsonString = '{"name":"小明","age":12}'; var obj = JSON.parse(jsonString);但是,有一個需要注意的問題是,由于C#和JS對于JSON的轉換所使用的編碼方式不同,在某些情況下會導致中文字符亂碼的情況。 解決這個問題的方法也比較簡單,只需要在C#中將JSON格式的字符串的編碼方式設為UTF-8,如下所示:
using System.Text; ... MyModel model = new MyModel(); string json = JsonConvert.SerializeObject(model, Encoding.UTF8);在JS中,則可以使用encodeURIComponent()方法對JSON格式的字符串進行編碼,再調用decodeURIComponent()方法來解碼,如下所示:
var jsonString = '{"name":"小明","age":12}'; var encodedString = encodeURIComponent(jsonString); var obj = JSON.parse(decodeURIComponent(encodedString));通過以上方法,我們可以很方便地在C#和JS之間相互傳遞JSON格式的數據,并避免中文字符亂碼的情況。
上一篇vue 輪播圖 js