小编Jer*_*ker的帖子

Java - 在没有 POJO 的情况下递归地从 JSON 字符串中删除字段

如何从 JSON 字符串中递归删除某些具有指定名称的字段?

例如,我想从以下 JSON 中删除字段“secondName”:

输入:

{
    "name" : "abc",
    "secondName": "qwe",
    "add" : "abcd",
    "moreDetails" : {
        "secondName": "qwe",
        "age" : "099"
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

{
    "name" : "abc",
    "add" : "abcd",
    "moreDetails" : {
        "age" : "099"
    }
}
Run Code Online (Sandbox Code Playgroud)

我必须从具有不同结构/模式的许多不同 JSON 中删除一些字段,因此我将无法对 POJO 进行反序列化/序列化。

java json jackson gson

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

使用openssl s_client connect时如何忽略证书验证?

我正在尝试使用以下命令连接到服务器:

openssl s_client -connect xx.xx.xx.xx:443
Run Code Online (Sandbox Code Playgroud)

错误:

CONNECTED(00000005)
depth=0 L = XXXXXXX
verify error:num=20:**unable to get local issuer certificate**
verify return:1
depth=0 L = XXXXXXXX
verify error:num=21:**unable to verify the first certificate
verify return:1**
---
Certificate chain
 0 s:/L=XXXX
   i:/C=XXXX
---
Server certificate
-----BEGIN CERTIFICATE-----
....
...
..
<removed cert>
..
...
....
-----END CERTIFICATE-----
subject=xxxxxxx CN=*xxx.xom
issuer=XXXX CA
---
No client certificate CA names sent
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 2281 bytes and …
Run Code Online (Sandbox Code Playgroud)

openssl ssl-certificate x509certificate

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

如果在使用 jackson objectmapper 反序列化时字符串不是双引号,则抛出错误

我有一个 JSON:

{
    "stringField" : 1234,
    "booleanField": true,
    "numberField": 1200.00
}
Run Code Online (Sandbox Code Playgroud)

我使用对象映射器将 json 反序列化为:-

@Data
class SomeClass {
    String stringField;
    boolean booleanField;
    float numberField;
}
Run Code Online (Sandbox Code Playgroud)

我希望 objectMapper 抛出错误,因为根据 json 规范,字符串字段的值必须双引号。我怎样才能让 objectMapper 抛出错误?

java jackson objectmapper

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

在 Hibernate/JPA Generated UPDATE Query 的 Where 子句中包含其他列

我正在使用休眠/JPA。

当我执行entity.save()or 时session.update(entity),hibernate 会生成这样的查询:-

update TABLE1 set COL_1=? , COL_2=? , COL_3=? where COL_PK=?
Run Code Online (Sandbox Code Playgroud)

我可以通过实体中的任何注释在 WHERE 子句中包含一个附加列,因此它可以导致如下查询:-

update TABLE1 set COL_1=? , COL_2=? , COL_3=? where COL_PK=? **AND COL_3=?**
Run Code Online (Sandbox Code Playgroud)

这是因为我们的数据库是基于分片的COL_3,这需要出现在 where 子句中

我希望能够仅使用session.update(entity)or来实现这一点entity.save()

mysql hibernate sharding spring-data spring-data-jpa

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

正则表达式不允许两个连续的特殊字符,也不允许出现在开头和结尾

我正在寻找一个字符串的正则表达式

  1. 仅包含 AZ az 0-9 _ - 。
  2. 不以 _ - 开始/结束。
  3. 不包含连续的特殊字符或其组合
  4. 最大 36 长度,最小 1

正确的

abcd-efgH
1
a
123
abc
abc-asd-123-asd_asd.asd
Run Code Online (Sandbox Code Playgroud)

错误的:

-
abc-_asd
abc.
abc.-asd
123123-123123-ads--asd
091-asdsad---
Run Code Online (Sandbox Code Playgroud)

我四处寻找并得到了这个:-

/^(?!.*[^\na-z0-9]{2})(?=.*[a-z0-9]$)[a-z0-9].*$/gim
Run Code Online (Sandbox Code Playgroud)

但这允许所有特殊字符,而不仅仅是我检查的 3 个

java regex

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

relabel_configs - 删除具有特定标签值的特定指标

我有一个指标 istio_requests_total

我想删除 中的所有数据istio_requests_total,这些数据具有特定的标签值,例如

istio_requests_total {reporter="source"}
Run Code Online (Sandbox Code Playgroud)

我尝试过指标重新标记配置,但它们适用于所有指标,而不仅仅是istio_requests_total

  metric_relabel_configs:
  - source_labels: [reporter]
    regex: '^source$'
    action: drop
Run Code Online (Sandbox Code Playgroud)

prometheus promql

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

apache tomcat 日志中的 %D 和 %F 是什么?

这是关于 Tomcat 的访问日志模式变量:

根据 Apache 的文档: %D - 处理请求所花费的时间,以毫秒为单位 %F - 提交响应所花费的时间,以毫秒为单位

它们到底是什么意思?

据我了解,

%D = tomcat 从接收到请求的第一个字节到发送出最后一个响应字节所花费的时间

%F = tomcat 从接收到请求的最后一个字节到发送出第一个响应字节所花费的时间

它是否正确??

apache logging tomcat

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