我希望使用#include <stdint.h>
uint32_t goHigh(uint32_t x) {
return (x & 0xFFFF0000);
}
uint32_t goLow(uint32_t x) {
return (x & 0xFFFF);
}
uint32_t magic(uint32_t pass) {
uint32_t key = pass;
uint32_t num = 0x0563;
key = (goLow(key) << 16) | (uint16_t)(((num >> 3) | (num << 13)) ^ (goHigh(key) >> 16));
return key;
}
规范,该规范可用于将输入转换为输出。
我试图使用map到List以及其他语法,但是到目前为止还没有成功。
预期输入:
JoltTransformJSON
预期输出:
{
"params": "sn=GH6747246T4JLR6AZ&c=QUERY_RECORD&p=test_station_name&p=station_id&p=result&p=mac_addresss"
}
除了“列”内的内容以及维度和值属性外,其余字段均采用硬编码。
答案 0 :(得分:1)
由于所有数据都包含在单个JSON键/值中,因此我认为JoltTransformJSON
不是最好的选择。我实际上认为用Python / Groovy / Ruby编写一个简单的脚本来拆分querystring值并将其写出,因为JSON维护起来更容易且更简单。我会特别推荐Groovy(可以使用专用的ExecuteGroovyScript
处理器),因为它是Apache NiFi中的most performant和robust,并且具有excellent JSON handling。