我正在尝试使用SpringXD将一些JSON指标数据流式传输到Oracle数据库。
我在这里使用这个例子:SpringXD Example
正在进行Http调用:EarthquakeJsonExample
我的shell cmd。
stream create earthData --definition "trigger|usgs| jdbc --columns='mag,place,time,updated,tz,url,felt,cdi,mni,alert,tsunami,status,sig,net,code,ids,souces,types,nst,dmin,rms,gap,magnitude_type' --driverClassName=driver --username=username --password --url=url --tableName=Test_Table" --deploy
我想将此JSON响应的属性部分捕获到给定的表列中。我得到它,它没有给我一个哈希错误,而只是将一堆空值存入列。
我认为我的问题是解析JSON本身。因为属性实际上在Features数组中。 SpringXD可以为我开箱即用,还是需要编写自定义处理器?
以下是成功获取cmd后数据库的外观。
有什么建议吗?我是以这种方式解析JSON的新手,我不确定如何使用SpringXD本身找到更多文档或示例。
以下是文档的引用:SpringXD Doc
答案 0 :(得分:2)
JDBC接收器中的转换器需要一个可以转换为键/值映射的简单文档。您需要在上游添加变换器,可能在您的usgs
处理器或甚至是单独的处理器中。您可以使用#jsonPath
表达式来提取属性键并使其成为有效负载。