JSON 到 IBM Streams 中的元组操作
JSON to Tuple operation in IBM Streams
有没有办法在不使用 JSONtoTuple 运算符的情况下将 JSON 字符串转换为 SPL 元组类型?
我看到了这个文档:
https://developer.ibm.com/streamsdev/docs/introducing-the-json-toolkit/
他们提到了将元组转换为 json 而不是 json 为元组的本机函数。
如何在自定义运算符中将 JSON 转换为元组?
JSON 工具包的 1.4+ 版本包括您可以从自定义调用的函数。
此版本必须从 Github 下载,因为它尚未包含在 Streams 产品中。
下载 latest version from Github,即 1.4.4。
构建工具包:cd com.ibm.streamsx.json
和 运行 ant
.
然后就可以使用extractJSON
函数了:
public T extractFromJSON(rstring jsonString, T value)
传递要解析的 JSON 字符串,以及将包含解析结果作为参数的可变元组。
例如:
composite ExtractFromJSON {
type
//the target output type. Nested JSON arrays are not supported.
Nested_t = tuple<rstring name, int32 age, list<rstring> relatives> person, tuple<rstring street, rstring city> address;
graph
() as Test = Custom() {
logic
onProcess : {
rstring jsonString = '{"person" : {"name" : "John", "age" : 42, "relatives" : ["Jane","Mike"]}, "address" : {"street" : "Allen Street", "city" : "New York City"}}';
mutable Nested_t nestedTuple = {};
println( extractFromJSON(jsonString, nestedTuple));
}
}
}
这是基于ExtractFromJSON sample
你可以在 Github.
的 repo 中找到
希望对您有所帮助。
有没有办法在不使用 JSONtoTuple 运算符的情况下将 JSON 字符串转换为 SPL 元组类型? 我看到了这个文档: https://developer.ibm.com/streamsdev/docs/introducing-the-json-toolkit/ 他们提到了将元组转换为 json 而不是 json 为元组的本机函数。
如何在自定义运算符中将 JSON 转换为元组?
JSON 工具包的 1.4+ 版本包括您可以从自定义调用的函数。 此版本必须从 Github 下载,因为它尚未包含在 Streams 产品中。
下载 latest version from Github,即 1.4.4。
构建工具包:cd com.ibm.streamsx.json
和 运行 ant
.
然后就可以使用extractJSON
函数了:
public T extractFromJSON(rstring jsonString, T value)
传递要解析的 JSON 字符串,以及将包含解析结果作为参数的可变元组。
例如:
composite ExtractFromJSON {
type
//the target output type. Nested JSON arrays are not supported.
Nested_t = tuple<rstring name, int32 age, list<rstring> relatives> person, tuple<rstring street, rstring city> address;
graph
() as Test = Custom() {
logic
onProcess : {
rstring jsonString = '{"person" : {"name" : "John", "age" : 42, "relatives" : ["Jane","Mike"]}, "address" : {"street" : "Allen Street", "city" : "New York City"}}';
mutable Nested_t nestedTuple = {};
println( extractFromJSON(jsonString, nestedTuple));
}
}
}
这是基于ExtractFromJSON sample 你可以在 Github.
的 repo 中找到希望对您有所帮助。