Json序列化
定义
命名空间:TouchSocket.Core
程序集:TouchSocket.Core.dll
一、说明
在TouchSocket中,内置了Json序列化与反序列化。
string jsonstr = SerializeConvert.ToJsonString(new object());//序列化
object obj = SerializeConvert.FromJsonString<object>(jsonstr);//反序列化
二、动态调整的Json策略 弃用
默认情况下: 在net45和netstandard2.0平台时,序列化方式是由JsonFast(群友老江)提供的单文件json序列化。该json工具能够序列化大多数数据结构,且性能和Newtonsoft.Json不相上下(见下测试)。 在netcoreapp3.1及以上平台时,序列化方式使用System.Text.Json。
但是
当应用中加载了Newtonsoft.Json的程序集后,所有的平台的序列化,均会使用Newtonsoft.Json。可通过**SerializeConvert.NewtonsoftJsonIsSupported**
静态属性获取当前是否支持Newtonsoft.Json。
也可以手动加载Newtonsoft.Json(一般在Unity3d中需要手动加载)。
bool IsSupported=SerializeConvert.LoadNewtonsoftJson(typeof(JsonConvert));//返回值指示是否成功加载
当加载了Newtonsoft.Json的程序集,但是不想使用该工具序列化时,可将**SerializeConvert.NewtonsoftJsonFirst**
静态属性设为false。