在 WSO2 流处理器/正则表达式中将文本格式转换为 json 以在 WSO2SP 中自定义文本映射
Convert text format to json in WSO2 stream processor/ regex for custom text mapping in WSO2SP
我有一个 wso2 流处理器代码,我从 kafka 以 text 格式接收 输入,因为 debezium mongodb 连接器给出了一个冗长的输出,它 不是一个有效的 json 可以发送到 WSO2。因此,我以文本形式接收它,并计划使用正则表达式来仅获取我需要的有效负载部分。
我无法弄清楚如何将此文本格式转换为 json 以便我可以将其发送到另一个 kafka 流并对此进行自定义 json 映射。
我正在尝试的另一种方法:
我也在尝试自定义文本映射:
@source(type='kafka',
topic.list='demo',
partition.no.list='0',
threading.option='single.thread',
group.id="group",
bootstrap.servers='localhost:9092',
@map(type='text',fail.on.missing.attribute='false', regex.A='(.*)',
@attributes(id = 'A[0]')))
define stream transactionstream1(id string);
样本Json:
{"_id":{"$oid":"342fs"},"code":"ffssefse","name":"test1","desc":"description1","transRefId":"esfef3423des","amount":1000,"currency":"INR","requestId":null,"redeemedCashcode":null,"sender":{"id":"5d9c0dedcf71a09664922042","name":"tat","phone":"3242324"}}
从上面获取代码属性的正则表达式 json 是 : (?:"code":")(.*?)(?:")
但 wso2 regex.A 不接受这个。
这就是为什么目前我正在获取文本格式的全部数据并尝试转换为 json
还有其他方法吗?或 在 wso2 流处理器中编写 regex 的其他一些约定?
我需要在 wso2sp 中从上述 json 的文本中获取自定义映射中的各个属性。
由于您的正则表达式由 " 组成,因此您需要使用 3 个双引号将其转义,如下所示,
regex.A = """(?:"code":")(.*?)(?:")""",
我有一个 wso2 流处理器代码,我从 kafka 以 text 格式接收 输入,因为 debezium mongodb 连接器给出了一个冗长的输出,它 不是一个有效的 json 可以发送到 WSO2。因此,我以文本形式接收它,并计划使用正则表达式来仅获取我需要的有效负载部分。 我无法弄清楚如何将此文本格式转换为 json 以便我可以将其发送到另一个 kafka 流并对此进行自定义 json 映射。
我正在尝试的另一种方法: 我也在尝试自定义文本映射:
@source(type='kafka',
topic.list='demo',
partition.no.list='0',
threading.option='single.thread',
group.id="group",
bootstrap.servers='localhost:9092',
@map(type='text',fail.on.missing.attribute='false', regex.A='(.*)',
@attributes(id = 'A[0]')))
define stream transactionstream1(id string);
样本Json:
{"_id":{"$oid":"342fs"},"code":"ffssefse","name":"test1","desc":"description1","transRefId":"esfef3423des","amount":1000,"currency":"INR","requestId":null,"redeemedCashcode":null,"sender":{"id":"5d9c0dedcf71a09664922042","name":"tat","phone":"3242324"}}
从上面获取代码属性的正则表达式 json 是 : (?:"code":")(.*?)(?:")
但 wso2 regex.A 不接受这个。
这就是为什么目前我正在获取文本格式的全部数据并尝试转换为 json
还有其他方法吗?或 在 wso2 流处理器中编写 regex 的其他一些约定?
我需要在 wso2sp 中从上述 json 的文本中获取自定义映射中的各个属性。
由于您的正则表达式由 " 组成,因此您需要使用 3 个双引号将其转义,如下所示,
regex.A = """(?:"code":")(.*?)(?:")""",