2016-10-03 71 views
2

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

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

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

类型 '串' 不分配键入 '任何[]'

是什么,即使是什么意思?

+0

'survey_data'的类型是什么? – Whymarrh

+0

我将它定义为一个数组,这是我的问题。我将它定义为一个数组,并试图使它成为一个字符串。 –

回答

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

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

+0

那么你的意思是,因为我先把它分配给别的东西,它会抛出错误,因为我试图重新分配它? –

+0

代码中的某处formData.survey_data有一个具有类/属性的定义,指定它是any []的类型。如果你想改变它,你必须找到它。 – kemiller2002

+0

想通了!我之前将formData.survey_data定义为一个数组,而不是一个字符串。谢谢你的帮助! –