gpt4 book ai didi

javascript - 解析对象以匹配接口(interface)

转载 作者:搜寻专家 更新时间:2023-10-30 21:33:36 24 4
gpt4 key购买 nike

当我在我的任何 REST 端点(koa-router)中接收查询字符串时,查询字符串对象参数的每个值都是字符串(显然):

{
count: "120",
result: "true",
text: "ok"
}

在我的代码库中,我有一个接口(interface)来表示查询字符串对象:

interface Params {
count: number;
result: boolean;
text: string;
}

我想“解析”查询字符串对象,其中所有值都是字符串以匹配此接口(interface)。这样做的最佳做法是什么?

最佳答案

将数字和 bool 值作为字符串似乎很奇怪,因为 JSON 支持数字和 bool 值的不带引号的值

JSON.parse() 有一个可选的 reviver 回调参数,您可以在请求拦截器中使用它,这样您就可以在字符串数字和 bool 值每次到达您的请求之前对其进行规范化界面

const data = `{
"count": "120",
"resut": "false",
"text": "ok"
}`

const reviver = (key, value) => {
if(typeof value === 'string' && !isNaN(value)){
return Number(value)
}else if(value === 'true' || value === 'false'){
return value === 'true' ? true : false;
}
return value;
}

console.log(JSON.parse(data, reviver ))

关于javascript - 解析对象以匹配接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55554173/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com