12345678910111213141516171819202122232425262728293031323334353637383940414243 |
-
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using JBIM;
- using Newtonsoft.Json;
- using Newtonsoft.Json.Converters;
- using Newtonsoft.Json.Linq;
- namespace RevitToJBim.JsonConverter
- {
- public static class BimJsonUtil
- {
- public static string Serializer(BimDocument document)
- {
- JsonSerializerSettings jsetting = new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore };
- jsetting.Converters.Add(new BimIdConverter());
-
-
- jsetting.Converters.Add(new StringEnumConverter());
- jsetting.Converters.Add(new ParameterConverter());
- var bimObjects = document.BimObjects;
- var group = bimObjects.GroupBy(bim => bim.ElementType);
- Dictionary<string, List<BimObject>> dic = new Dictionary<string, List<BimObject>>();
- foreach (var collection in group)
- {
- dic[collection.Key + "s"] = collection.ToList();
-
- }
-
- string dataStr = JsonConvert.SerializeObject(dic, jsetting);
- return dataStr;
- }
- }
- }
|