将flume jsonhandler主体作为jsonobject发送

wgx48brx  于 2021-06-04  发布在  Flume
关注(0)|答案(1)|浏览(338)

我是flume的新手,正在使用http源发送flume事件。如果有效负载的格式如下所示,则我能够成功发送事件:

[{
"headers" : {
         "timestamp" : "434324343",
         "host" : "random_host.example.com"
         },
"body" : "random_body"
}]

但是,与头类似,我需要将主体作为jsonobject而不是字符串发送。例如:

[{
"headers" : {
         "timestamp" : "434324343",
         "host" : "random_host.example.com"
         },
"body" : {
         "value1" : "100",
         "value2" : "101"
         }
}]

我怎样才能做到这一点?
提前谢谢。

knsnq2tg

knsnq2tg1#

据我所知,我们不需要太在意jsonobject是否被发送,我们发送了一个json字符串(可以解析为jsonobject)。您可以使用许多工具(如gson/fastjson)将字符串转换为array/map或jsonobject。
下面是一个例子:
gson gson=新gson();
string body=“{\”timestamp\“:\”434324343\“,\”host\“:\”random\u host.example.com\“}”;
map=gson.fromjson(body,new typetoken>(){}.gettype());

相关问题