Closed kichi2004 closed 5 years ago
GetEewInfo実行時、指定時刻にEEWが未発表だった際、以下の例外が発生します。
Utf8Json.JsonParsingException: expected:'true | false', actual:'""', at offset:214 場所 Utf8Json.JsonReader.ReadBoolean() 場所 Utf8Json.Formatters.NullableBooleanFormatter.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver) 場所 Utf8Json.Formatters.KyoshinMonitorLib_ApiResult_WebApi_EewFormatter1.Deserialize(JsonReader& , IJsonFormatterResolver ) 場所 Utf8Json.JsonSerializer.Deserialize[T](Byte[] bytes, Int32 offset, IJsonFormatterResolver resolver) 場所 Utf8Json.JsonSerializer.Deserialize[T](Byte[] bytes, IJsonFormatterResolver resolver) 場所 Utf8Json.JsonSerializer.Deserialize[T](String json, IJsonFormatterResolver resolver) 場所 Utf8Json.JsonSerializer.Deserialize[T](String json) 場所 KyoshinMonitorLib.Api.<GetJsonObject>d__3`1.MoveNext() --- 直前に例外がスローされた場所からのスタック トレースの終わり --- 場所 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 場所 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
例外の有無でも発表/未発表を区別できるのですが、例外は重い処理であること、意図されていない使い方であることから、EEW未発表時(result.message="データがありません")はnullを返す、または未発表時のJsonをそのままパースした結果を返す等の処理に変更したほうが良いと思います。 なお、現在は""→Nullableの変換に失敗しているので、これが意図しない動作なら、修正をお願いします。
プルリクと関係なかったっすね…
修正を確認できたのでclose
GetEewInfo実行時、指定時刻にEEWが未発表だった際、以下の例外が発生します。
例外の有無でも発表/未発表を区別できるのですが、例外は重い処理であること、意図されていない使い方であることから、EEW未発表時(result.message="データがありません")はnullを返す、または未発表時のJsonをそのままパースした結果を返す等の処理に変更したほうが良いと思います。 なお、現在は""→Nullableの変換に失敗しているので、これが意図しない動作なら、修正をお願いします。