public void JsonSerialization_SerializeToFile_Struct() { var src = new TestStruct { A = 10, B = 32 }; var dst = new TestStruct(); JsonSerialization.Serialize("test.json", src); using (JsonSerialization.DeserializeFromPath("test.json", ref dst)) { Assert.That(src, Is.EqualTo(dst)); } File.Delete("test.json"); }
static ArtifactData GetArtifactData(BuildConfiguration config) { if (config == null) { return(null); } var name = GetBuildConfigurationName(config); var assetPath = GetArtifactsPath(name); if (!File.Exists(assetPath)) { if (s_ArtifactDataCache.ContainsKey(name)) { s_ArtifactDataCache.Remove(name); } return(null); } if (!s_ArtifactDataCache.TryGetValue(name, out var artifactData)) { try { artifactData = new ArtifactData(); using (var result = JsonSerialization.DeserializeFromPath(assetPath, ref artifactData)) { if (!result.Succeeded) { var errors = result.AllEvents.Select(e => e.ToString()); LogDeserializeError(string.Join("\n", errors), artifactData, assetPath); artifactData = null; } } } catch (Exception e) { LogDeserializeError(e.Message, artifactData, assetPath); artifactData = null; } s_ArtifactDataCache.Add(name, artifactData); } return(artifactData); }