我是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"
}
}]
我怎样才能做到这一点?
提前谢谢。
1条答案
按热度按时间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());