在使用c#引用using Newtonsoft.Json;以及using Newtonsoft.Json.Linq;时我们有可能遇见某些值无法直接从Jarray转为list集合,这时我们就需要使用Jarray的特性以及c#内置方法手动的写一下转换方法。
我们先将拿到的json数据转换为Jarray数组数据,然后声明你要转换的数据集合、数据对象,将数组进行一下暂存使我们在foreach期间可以对数组进行操作
var jar = JArray.Parse(data);
List<Ims_TrainingDetails> saveList = new List<Ims_TrainingDetails>();
Ims_TrainingInformation saveTI = new Ims_TrainingInformation();
var saveJar = jar;
现在开始循环处理我们的Jarray数组,嵌套循环数组里面的所有的数据,通过Jarray一条数据的单个属性获取到相应的数据对象属性名,获取要储存对象的数据类型,进行相应的数据转换。
var type = info.GetProperty(items.Path.Remove(0, 4).ToString()).PropertyType;
在不同分支可对特殊数据进行特殊的处理然后保存。最后将对象保存到提前声明的集合中便完成了
foreach (var item in jar)
{
Ims_TrainingDetails saveInfo = new Ims_TrainingDetails();
foreach (var items in item.Child