Javascript 使用TypeScript函数返回JSON对象
我最近发现了TypeScript,并尝试将现有的JavaScript代码转换为TypeScript 我有一个函数,可以从字符串(Javascript 使用TypeScript函数返回JSON对象,javascript,json,function,typescript,return,Javascript,Json,Function,Typescript,Return,我最近发现了TypeScript,并尝试将现有的JavaScript代码转换为TypeScript 我有一个函数,可以从字符串(data)中检索信息,将其放入JSON对象(JSON)并返回它。但是当使用TypeScript而不指定返回类型时,我在Eclipse中遇到以下错误: 返回表达式中不存在最佳通用类型 当我添加any返回类型时,它就会消失,但我认为这不是一个好的解决方案(太通用)。我找不到“json”或“object”类型 我的问题是:我应该使用哪种退货类型 以下是函数: function
data
)中检索信息,将其放入JSON对象(JSON
)并返回它。但是当使用TypeScript而不指定返回类型时,我在Eclipse中遇到以下错误:
返回表达式中不存在最佳通用类型
当我添加any
返回类型时,它就会消失,但我认为这不是一个好的解决方案(太通用)。我找不到“json”或“object”类型
我的问题是:我应该使用哪种退货类型
以下是函数:
function formaterDonnees(data: string) { // or (data: string): any
// final json object
var json = {
y: {
"vars": [],
"smps": [],
"data": []
}
};
// ...
// processing data...
// ...
// put new variables in JSON (not real values below)
json.y.data = ["data"];
json.y.smps = ["smps"];
json.y.vars = ["vars"];
return json;
};
确实可以指定返回
对象(),但可以为返回值创建类型:
type MyReturnTypeItem = {
vars: string[];
smps: string[];
data: string[];
}
type MyReturnType = {
[name: string]: MyReturnTypeItem;
}
function formaterDonnees(data: string): MyReturnType {
var json = {
y: {
"vars": [],
"smps": [],
"data": []
}
};
// put new variables in JSON (not real values below)
json.y.data = ["data"];
json.y.smps = ["smps"];
json.y.vars = ["vars"];
return json;
};
()
此外,虽然我使用过,但您也可以使用:
谢谢你,这正是我需要的。你能简单地给我解释一下以下语法吗:[name:string]:
?这就是所谓的。我认为文档非常直截了当,所以请查看,如果您仍然不理解某些内容,请再次回复,我很乐意提供帮助
interface MyReturnTypeItem {
vars: string[];
smps: string[];
data: string[];
}
interface MyReturnType {
[name: string]: MyReturnTypeItem;
}