我正在使用 jq 来解析一些 JSON。我想检查一个属性是否存在。如果它存在,我总是想获取数组中的第一个元素。基于此,我想使用if then ... else.
我的代码如下所示:
JSON_INPUT='{"var1":[{"foo":"bar"}],"var2":[{"fooooo":"baaaaar"}]}'
VAR2=$(echo $JSON_INPUT | jq '.["var2"] | .[0]')
if [ -z "${VAR2}" ]
then
echo "does not exist"
# do some stuff...
else
echo "exist"
# do some stuff...
fi
Run Code Online (Sandbox Code Playgroud)
JSON_INPUT 可以包含var2但不能包含。如果不存在VAR2则为空。但我无法检查这个空值。错误在哪里?
我正在编写一个需要com.fasterxml.jackson.databind.ObjectMapper实例的库。库的用户应该能够为 ObjectMapper 或 ObjectMapper 实例本身提供配置。但我也添加/修改了序列化程序的一些设置,而不会影响用户的 ObjectMapper 实例。
有没有办法创建 ObjectMapper 实例的副本/克隆?
看起来ObjectMapper clonedInstance = new ObjectMapper(originalMapper.getFactory())可以工作。但我不确定是否有任何我遗漏的东西。ObjectMapper 的行为会和原来的完全一样吗?
目前这是我的代码:
public MyLibraryClass {
private ObjectMapper internalMapper;
public MyLibraryClass(ObjectMapper mapper) {
if (mapper == null) {
internalMapper = new ObjectMapper();
} else {
internalMapper = new ObjectMapper(mapper.getFactory());
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个 Nestjs 模块,我想在其中使用APP_GUARD提供程序定义多个守卫。文档中的示例仅显示如何定义单个守卫。如何定义多个守卫?
import { APP_GUARD } from '@nestjs/core';
import { Module } from '@nestjs/common';
@Module({
providers: [
{
provide: APP_GUARD,
useClass: MyFirstGuard, // how can I add a second guard here?
},
],
})
export class AppModule {}
Run Code Online (Sandbox Code Playgroud)