我们正在使用RTI webhook发布消息通知以将其存储在Cloudant DB
中。我们将{{message}}
参数传递给POST调用主体。存储后,我们会在每"/"
之前注意到quote(")
个字符。这似乎是一个错误,因为这会使JSON在后期消耗无效。以下是我们的一个案例中{{message}}
包含的示例
" {\" d \":{\" Energy_Consumption \":150,\"压力\":36.84546626947179,\ " water_usage \":1640.0274074248778,\"温度\" 45},\" TS \":\" 2016-03-15T06 :48:02.320 + 0000 \" \" ruleContent \":{\" ID为\":\" J4jn6Wqv \" \ " contextSchemas \":[],\" ruleCondition \":\" IOT_DeviceSchema.d.temp→40 和IOT_DeviceSchema.d.pressure< 80 AND IOT_DeviceSchema.d.Energy_Consumption大于100 \" \" messageSchemas \":[\" IOT_DeviceSchema \&#34],\"作业ID \" :\" tOXtlQLA \" \"名称\":\" Device_Alert \" \"严重性\":2 ,\"动作\":[\" Xfy2CCx6 \&#34],\"变换\":[],\"目的地\& #34;:\" tenant.228e9515-9a62-448a-ba9a-a570000ba619.ruleOutput \"},\" DEVICEID \":\" ftkgac:IOTsample_devicetype: Device03 \"}"
答案 0 :(得分:0)
{{message}}嵌入了webhook json主体,这就是它被编码的原因。
如果webhook服务器本身是java程序或其他人可以从字符串解析json,则没有问题。 IFTTT,Node-red,requestbin,Maximo Web服务器是解析正确发生的示例。
在这种情况下,webhook用于调用cloudant API以将webhook主体直接保存为云端文档。转义字符串将直接保存到cloudant db而不进行任何解析。
另一个选择是在保存到cloudant之前通过解析器运行它。
我们将进一步调查,了解我们可以在RTI方面做些什么。
我可以问你想要做什么"后期"你把它保存在cloudant之后?当您通过java / js获得此消息时,可以解析该消息以更正json正文。