小编Ram*_*man的帖子

如何检查jq结果是否为空?

我正在使用 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则为空。但我无法检查这个空值。错误在哪里?

bash shell null json jq

5
推荐指数
2
解决办法
3398
查看次数

创建 jackson ObjectMapper 实例的克隆

我正在编写一个需要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)

java jackson

2
推荐指数
1
解决办法
1844
查看次数

如何在 NestJS 中的模块级别定义多个守卫?

我有一个 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)

nestjs

1
推荐指数
1
解决办法
1124
查看次数

标签 统计

bash ×1

jackson ×1

java ×1

jq ×1

json ×1

nestjs ×1

null ×1

shell ×1