【APIについて⑥】エラーat Assets/Script/MemberDataModel.cs | Unity Forum | Tech Stadium Forum

【APIについて⑥】エラーat Ass...
 
通知
すべてクリア

【APIについて⑥】エラーat Assets/Script/MemberDataModel.cs  

  RSS

Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
10/01/2022 11:14 am  

動画「APIについて⑥」でのエラーについて、自己解決したので参考として共有しておきます。

13:30のあたりのsetMessageのスタートコルーチンのコーディングの際、
StartCoroutine(SetMessage(sTgtURL, name, message, CallbackWebRequestSuccess, CallbackWebRequestFailed));
としてサクセス時にCallbackWebRequestSuccess関数が呼ばれるようになっているのですが、
このまま実行するとUnityでエラーが発生していました。(エラー内容)
NullReferenceException: Object reference not set to an instance of an object
MemberDataModel.DeserializeFromJson (System.String sStrJson) (at Assets/Script/MemberDataModel.cs:24)
ManagerMain.CallbackWebRequestSuccess (System.String response) (at Assets/Script/ManagerMain.cs:86)

エラーを受け、ManagerMainクラスの86行目
_memberList = MemberDataModel.DeserializeFromJson(response);
を確認したところJSON解析用関数のDeserializeFromJson関数の引数として
setMessage関数の実行結果であるresponse(webRequest.downloadHandler.text)
具体的には文字列“Success!“が渡されていたためエラーになったものと考えました。

そこで、漏れている作業があったのではないかと思い動画を見返したところ、
26:00で作成しているWebRequestSuccess関数がどこにも使われていなかったので、
setMessageのスタートコルーチンにおけるサクセス時の処理にWebRequestSuccess関数を入れたところエラーが解消しました。
StartCoroutine(SetMessage(sTgtURL, name, message, WebRequestSuccess, CallbackWebRequestFailed)); 


引用
共有:
タイトルとURLをコピーしました