The right-hand side of an ‘in’ expression must not be a primitive.ts(2361)のエラー

動作環境

typescript
nodejs
react native

発生状況

async await を使ってAsyncStorageで保管したデータをgetして、そのgetしたデータに対して、in塩山市を使って、if文の処理をしたらタイトルのエラーが出た。
getしたデータはjson型である。

エラーの原因

AsyncStorageで取得したデータの方がjsonだと思っていたが、jsonになっていなかったのが The right-hand side of an 'in’ expression must not be a primitive.ts(2361) のエラーが発生した原因でした。

つまり、JSON.parse()でgetしたデータを囲んで、json型に変えれば解決しました。

Code before modification (修正前のコード)
const stage_data = await Storage.getData('stage')  // 保存されたデータを取得する

if('aaaaaaa' in stage_data){
  console.log("error")
}
Corrected code (修正後のコード)
const stage_data = await Storage.getData('stage')  // 保存されたデータを取得する

if('aaaaaaa' in JSON.parse(stage_data)){
  console.log("ok")
}

めでたし、めでたし。