private static bool Deserialize <T>(TextReader textReader, out T content, [CallerMemberName] string memberName = "", [CallerFilePath] string sourceFilePath = "", [CallerLineNumber] int sourceLineNumber = 0) { try { using (JsonReader reader = new MSJsonReader(textReader)) { /** * reader.SupportMultipleContent = true; * while (reader.Read()) * { * if (reader.TokenType == JsonToken.StartObject) * { * var c = serializer.Deserialize(reader); * } * } * /**/ content = serializer.Deserialize <T>(reader); } return(true); } catch (Exception e) { content = default; string d = $"value: {textReader}\n" + $"member name: {memberName}\n" + $"source file path: {sourceFilePath}\n" + $"source line number: {sourceLineNumber}"; Debug.LogError(d); Debug.LogError(traceWriter); Debug.LogError("Exception happened while deserializing input object, Error: " + e.Message); return(false); } }
private static bool Populate(TextReader textReader, object content, [CallerMemberName] string memberName = "", [CallerFilePath] string sourceFilePath = "", [CallerLineNumber] int sourceLineNumber = 0) { try { using (JsonReader reader = new MSJsonReader(textReader)) serializer.Populate(reader, content); return(true); } catch (Exception e) { string d = $"value: {textReader}\n" + $"member name: {memberName}\n" + $"source file path: {sourceFilePath}\n" + $"source line number: {sourceLineNumber}"; Debug.LogError(d); Debug.LogError(traceWriter); Debug.LogError("Exception happened while deserializing input object, Error: " + e.Message); return(false); } }