小编Man*_*tas的帖子

使用Java中的HSQLDB进行常规Expresions查询

我正在尝试为我的应用程序创建一个正则表达式过滤器.我使用HSQLDB存储我的消息和regex.pattern [1]类来匹配传入的消息.我注意到HSQLDB中的regex.pattern和LIKE使用了不同的匹配"teqniques".

我想要匹配:{"auth_user":"YQ==","auth_pass":"ZGFz"}.

使用HSQLDB: SELECT * FROM messages LIKE %auth%

使用regex.pattern:\bauthauth

我的问题

  1. 有没有办法从HSQLDB中的RLIKE或REGEX获取用户输入和查询?

  2. 有没有简单的方法在HSQLDB查询中转换regex.pattern?

[1] https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html

先感谢您.

编辑1:我得到的消息不仅是JSON格式化.

编辑2:我试着REGEXP_MATCHES像@JorgeCampos和@fredt一样提到我但是SQL Error [S1000]: java.lang.ClassCastException: org.hsqldb.types.ClobDataID cannot be cast to java.lang.String 当我执行以下命令时 出现以下异常 SELECT * FROM WEBSOCKET_MESSAGE WHERE REGEXP_MATCHES(PAYLOAD_UTF8, '^a.*');

java regex database hsqldb rlike

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

获取JSON字符串的抽象语法树

问题描述

我正在编写一个简单的JSON分析器,以实现JSON字符串的语法分析。我收到随机结构 JSON 字符串,并且想要导出语法结构。因此,我想要一个树结构,它描述 JSON 字符串的格式(键、值、数组等)和每个元素的类型。我已经找到了JSON的语法定义(如下所述)

object
    {}
    { members } 
members
    pair
    pair , members
pair
    string : value
array
    []
    [ elements ]
elements
    value
    value , elements
value
    string
    number
    object
    array
    true
    false
    null 
Run Code Online (Sandbox Code Playgroud)

例子

JSON 字符串:

{"widget": {
    "null": null,
    "window": {
         153: "This is string",
        "boolean": true,
        "int": 500,
        "float": 5.555
    }
}}    
Run Code Online (Sandbox Code Playgroud)

我想要得到类似的东西:

{ KEY_STR : {
     KEY_STR : null
     KEY_ARRAY : {
        KEY_INT: VALUE_STR,
        KEY_STR: VALUE_BOOL,
        KEY_STR: VALUE_INT,
        KEY_STR: VALUE_FLOAT …
Run Code Online (Sandbox Code Playgroud)

java json code-analysis abstract-syntax-tree gson

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

没有括号和ID的有效JSON?

这是一个理论问题.只是想知道为什么以下是有效的JSON

[12,"json",true]
Run Code Online (Sandbox Code Playgroud)

有什么答案吗?

json

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