From 0d8f13e945912871e86181f812fe5b9e9a4fc5e0 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Tue, 5 Feb 2019 16:33:23 +0900 Subject: [PATCH] add null check --- .../VRM/UniJSON/Scripts/FormatterExtensions.cs | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/Assets/VRM/UniJSON/Scripts/FormatterExtensions.cs b/Assets/VRM/UniJSON/Scripts/FormatterExtensions.cs index 340dfbb68..1f3cba085 100644 --- a/Assets/VRM/UniJSON/Scripts/FormatterExtensions.cs +++ b/Assets/VRM/UniJSON/Scripts/FormatterExtensions.cs @@ -53,15 +53,19 @@ namespace UniJSON // lambda body var lambdaBody = (MemberExpression)expression.Body; - if(lambdaBody.Expression.NodeType==ExpressionType.Constant) + if (lambdaBody.Expression.NodeType == ExpressionType.Constant) { // // KeyValue(() => Field); // var constant = (ConstantExpression)lambdaBody.Expression; var field = (FieldInfo)lambdaBody.Member; - f.Key(lambdaBody.Member.Name); - f.Serialize(field.GetValue(constant.Value)); + var value = field.GetValue(constant.Value); + if (value != null) + { + f.Key(lambdaBody.Member.Name); + f.Serialize(value); + } } else { @@ -77,8 +81,12 @@ namespace UniJSON var field = (FieldInfo)lambdaBody.Member; - f.Key(field.Name); - f.Serialize(field.GetValue(captureValue)); + var value = field.GetValue(captureValue); + if (value != null) + { + f.Key(field.Name); + f.Serialize(value); + } } } }