/* ============================================================================== * 功能描述:ParameterConverter * 创 建 者:Garrett * 创建日期:2019/6/26 10:14:23 * ==============================================================================*/ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using JBIM.Component; using Newtonsoft.Json; using Newtonsoft.Json.Linq; namespace RevitToJBim.JsonConverter { /// /// ParameterDefinationConverter /// class ParameterConverter : Newtonsoft.Json.JsonConverter { public override bool CanConvert(Type objectType) { return objectType == typeof(Parameter); } public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { throw new NotImplementedException(); } public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (value == null) { writer.WriteNull(); return; } JObject jObject = new JObject(); Parameter parameter = null; try { parameter = value as Parameter; if (parameter == null) return; jObject.Add("Name", parameter?.Definition?.Name); jObject.Add("Value", (parameter?.Value)??""); writer.WriteToken(jObject.CreateReader()); } catch (Exception e) { Console.WriteLine(e); } } } }