From 314d4568c4ffff0a417926de792280bb843531cc Mon Sep 17 00:00:00 2001 From: BlackEdder Date: Thu, 17 Nov 2016 20:50:12 +0000 Subject: [PATCH] Fix #53: JSON_TYPE.NULL results in exception The fix ensures that when a null value is found we return T.init --- source/painlessjson/painlessjson.d | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/source/painlessjson/painlessjson.d b/source/painlessjson/painlessjson.d index dce6209..243a590 100644 --- a/source/painlessjson/painlessjson.d +++ b/source/painlessjson/painlessjson.d @@ -612,8 +612,20 @@ T fromJSON(T, SerializationOptions options = defaultSerializatonOptions)(in JSON { return T._fromJSON(json); } - else + else + { + if (json.type == JSON_TYPE.NULL) + return T.init; return defaultFromJSON!(T,options)(json); + } +} + +unittest { + struct P + { string name; } + + auto jv = parseJSON(`{"name": null}`); + auto j = fromJSON!P(jv); } /// Converting common types