如何在使用 JSON 的同时使用字符串模板?

How to use string template while using JSON?

我正在做一个项目,想根据一些条件使用 prodConfigdraftConfig。我正在使用 Hasura 并获得 2 个不同的 JSON 响应,响应中只有 1 个不同的键,即 prodConfigdraftConfig

示例:

data.businesses_by_pk.draftConfig 要么 data.businesses_by_pk.prodConfig

所以,我想到了使用字符串模板 ( ${} ),但这行不通:

因此,我尝试了这个:

let configFile = Object.keys(data.businesses_by_pk)[1]; //This gives either 'prodConfig' or 'draftConfig'
let header = data.businesses_by_pk.configFile;

但是这个returns未定义。

请帮我解决这个问题。纠正我如果我哪里错了,我是新手。

let header = data?.businesses_by_pk?.draftConfig || data?.businesses_by_pk?.prodConfig

您可以使用optional chaining来挖掘对象。它不会出错,而是 return undefined。然后,您可以在 return undefined.

时设置默认值

例如:let names = (data?.name || data?.firstName) ?? 'smith' 如果任何名称预先为 falsy

,则 smith 将是默认值