.net framework的JavaScriptSerializer无法在.net core中使用,报错。
这个问题如果你在设计winform时候强制使用了web 里的JavaScriptSerializer ,你就回悲催的发现你的winform 设计器怎么也打不开了。
解决 未能启动设计工具服务器过程
因为.net core 中不存在System.Web.Script.Serialization与System.Runtime.Serialization.Json这两个namespace 命名空间,所以.net core也就没有JavaScriptSerializer,所以在移植项目时,可以使用Newtonsoft.Json中的JsonConvert来替代。
例子如下:
//.net framework使用方法:
JavaScriptSerializer ss = new JavaScriptSerializer();
var result= ss .Serialize(yourObject);
//.net core 使用Newtonsoft.Json方法:
var result = JsonConvert.SerializeObject(yourObject);
看我的代码:
//JavaScriptSerializer jss = new JavaScriptSerializer(); //注释这里
Dictionary<string, object> pairs = new Dictionary<string, object>();
pairs.Add("mchtCode", mchtCode);
pairs.Add("appId", appId);
pairs.Add("appSecret", appSecret);
string url = serverUrl + "/mcht/getTerminalList";
string postData = JsonConvert.SerializeObject(pairs); //这里修改了就可以了
var res = HttpHelper.PostUrl(url, postData);