h-oishi
(H Oishi)
April 11, 2023, 4:51am
1
問題なく動いていたロボットを別のPCで起動させたところ以下のエラーが発生してしまいました。
「JSON をデシリアライズ: Cannot create and populate list type Newtonsoft.Json.Linq.JToken. Path ‘documentIds’, line 1, position 16.」
原因がパッケージのバージョン違いである可能性が考えられたため、バージョンを合わせましたが解消されません。
以下がエラーの状況となります。
・ディクショナリー変数名 jsonDic 変数の型[New Dictionary(Of String, List(Of String))] でデシリアライズを行った際にエラーが発生。
・ディクショナリー変数名 jsonDel 変数の型[New Dictionary(Of object, object)]でデシリアライズを行った際には成功。
・デシリアライズ時、Newtonsoft.Json.JsonConvert.SerializeObject(jsonDic)でシリアライズを実行しているが、これは問題なく実行されている。
・シリアライズ結果(抜き出し) {“documentIds”:[“6664”,“6665”,“6666”,“6667”]}
原因特定のアドバイスをご教授いただけますと幸いです。
Yoichi
(Yoichi)
April 12, 2023, 12:35am
2
こんにちは
WebAPIパッケージの依存先ライブラリのバージョンはいかがでしょうか?
下記ですとNewtonsoft.json 13.0.1を使っています。
h-oishi
(H Oishi)
April 12, 2023, 7:30am
3
Yoichi様
ご回答いただきまして、誠にありがとうございます。
依存先ライブラリの状況は添付の通りとなります。
状況としましては
調査と試行錯誤を経て
ユーザーフォルダは以下の「.nuget\packages\newtonsoft.json」内に生成されているバージョンごとのフォルダ(13.0.3)を削除したところ、エラーが解消されました。
ただし、複数回ロボットを走行させているうちに削除したフォルダが再生成され、同様のエラーが発生しております。
こちらにつきまして、再生成されない方法がございましたらご教授いただけますと幸いです。
Yoichi
(Yoichi)
April 12, 2023, 7:42am
4
こんにちは
13.0.3を削除した場合、どのバージョンで解決済みになっていますでしょうか?
他のアクティビティパッケージでNewtonsoft.json13.0.3を必要としているものがあるためかと思います。
まずは検索窓でNewtonsfot.jsonを使っているアクティビティパッケージを特定して、13.0.3以上を
要求しているものがあれば、これを削除またはダウングレードして、13.0.3を使わないようにしてみてください。
h-oishi
(H Oishi)
April 12, 2023, 8:37am
5
Yoichi様
ご返信ありがとうございます。
取り急ぎのご連絡となります。
>13.0.3を削除した場合、どのバージョンで解決済みになっていますでしょうか?
13.0.1にて解決済みとなっておりました。
>他のアクティビティパッケージでNewtonsoft.json13.0.3を必要としているものがあるためかと思い>ます。
探し方が完全ではない可能性もございますが、検索窓でNewtonsfot.jsonを使っている他のアクティビティパッケージを確認したところ、13.0.3以上を要求しているものは見当たりませんでした。
Yoichi
(Yoichi)
April 12, 2023, 9:00am
6
こんにちは
上記依存関係の画像の中に、依存関係の直下にNewtonssoft.Json13.0.3がいますがこれは削除済みでしょうか?残っているとこちらに引っ張られると思いますので。
h-oishi
(H Oishi)
April 13, 2023, 1:35am
7
Yoichi様
ご回答ありがとうございます。
依存関係の直下にあるものを削除してみましたが、プロジェクトを1度閉じて開き直すと
.nuget\packages\newtonsoft.jsonに再生成されてしまい、同様のエラーが発生している状況です。
Yoichi
(Yoichi)
April 13, 2023, 2:33am
8
こんにちは
.nuget\packages\newtonsoft.json
以下の有無は関係ありません。
まずはプロジェクト自体がどのライブラリを参照しているかが問題になります。
プロジェクト(パッケージ管理)でNewtonssoft.Json13.0.3を削除していますでしょうか?
削除しても、プロジェクト内でそれが自動的に復帰するということでしょうか?
h-oishi
(H Oishi)
April 13, 2023, 6:54am
9
Yoichi様
何回もご回答ありがとうございます。
>プロジェクト(パッケージ管理)でNewtonssoft.Json13.0.3を削除していますでしょうか?
こちらも削除しているように見えるのですが、起動時にどうしても復帰してエラーになる事象が続いておりました。
結果的に、エラーが発生しているデシリアライズのアクティビティを別の処理に置き換えることで
希望している処理結果を得ることができましたので、こちらの代替案で進めることに致します。
誠にありがとうございました。