【问题标题】:Typescript and converting Object to String打字稿并将对象转换为字符串
【发布时间】:2017-02-11 11:19:28
【问题描述】:

我正在将 Typescript 中的对象转换为字符串以存储到数据库中。

formData.survey_data = encodeURI(JSON.stringify(formData.survey_data));

输出在浏览器中有效,但打字稿坚持我有一个错误。

类型 'string' 不能分配给类型 'any[]'

这是什么意思?

【问题讨论】:

  • survey_data的类型是什么?
  • 我将它定义为一个数组,这是我的问题。我将它定义为一个数组并尝试将其设为字符串。

标签: javascript angularjs json typescript


【解决方案1】:
formData.survey_data = encodeURI(JSON.stringify(formData.survey_data));

根据提供的代码,我假设survey_dataany[] 类型。您正在序列化您的对象并尝试将其分配给该属性。 TypeScript 是强类型的,即使 JavaScript 可能能够处理这种情况,也不允许您这样做。 (因为 JavaScript 不是强类型的,您可以将任何对象分配给任何属性)。

【讨论】:

  • 所以你的意思是因为我事先将它分配给了其他东西,它会因为我尝试重新分配它而引发错误?
  • 代码 formData.survey_data 的某处有一个类/属性定义,它指定它的类型为 any[]。如果你想改变它,你必须找到它。
  • 想通了!我之前将 formData.survey_data 定义为数组而不是字符串。感谢您的帮助!
  • 很高兴我能帮上忙!
猜你喜欢
  • 2018-06-07
  • 2020-11-21
  • 2021-04-10
  • 1970-01-01
  • 2020-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-24
相关资源
最近更新 更多