Révision | 23eee2ea2ae6250c06bbf5b88be02afbb74887f3 (tree) |
---|---|
l'heure | 2022-08-06 13:19:07 |
Auteur | yoshy <yoshy.org.bitbucket@gz.j...> |
Commiter | yoshy |
[MOD] DeserializeJson で入力値が空の場合に null を返すように修正
[MOD] DeserializeJson で変換時に例外が発生した場合に null を返すように修正
@@ -1,4 +1,5 @@ | ||
1 | -using System.Text.Json; | |
1 | +using NLog; | |
2 | +using System.Text.Json; | |
2 | 3 | |
3 | 4 | namespace CleanAuLait.Core.Converter |
4 | 5 | { |
@@ -24,6 +25,8 @@ namespace CleanAuLait.Core.Converter | ||
24 | 25 | #else |
25 | 26 | public static class JsonHelper |
26 | 27 | { |
28 | + private static readonly ILogger logger = LogManager.GetCurrentClassLogger(); | |
29 | + | |
27 | 30 | public static string ToJsonString<T>(this T data) |
28 | 31 | { |
29 | 32 | return JsonSerializer.Serialize(data); |
@@ -31,7 +34,21 @@ namespace CleanAuLait.Core.Converter | ||
31 | 34 | |
32 | 35 | public static T DeserializeJson<T>(this string json) |
33 | 36 | { |
34 | - return JsonSerializer.Deserialize<T>(json); | |
37 | + T obj = default; | |
38 | + | |
39 | + try | |
40 | + { | |
41 | + if (!string.IsNullOrEmpty(json)) | |
42 | + { | |
43 | + obj = JsonSerializer.Deserialize<T>(json); | |
44 | + } | |
45 | + } | |
46 | + catch (Exception e) | |
47 | + { | |
48 | + logger.Error(e, "json deserialization failed."); | |
49 | + } | |
50 | + | |
51 | + return obj; | |
35 | 52 | } |
36 | 53 | } |
37 | 54 | #endif |