使用http:get()
后,我收到来自哈希的pick
“内容”的字符串:
response = http:get(webservice_url, {"key1": value1, "key2": value2});
json_resp = response.pick("$..content");
但是,由于json_resp
是一个字符串而不是一个真正的JSON对象,我无法运行这样的命令:
value = json_resp.pick("$..string");
有没有办法告诉KRL我想将json_resp
解析为JSON?可能是eval()
或其他什么?
答案 0 :(得分:4)
decode()
运算符可以满足您的需求。它在JSON字符串上运行,尝试将其转换为本机KRL对象。请注意,KRL还有encode()
,它在本机KRL对象上运行,并返回该对象的JSON字符串表示。
response = http:get(webservice_url, {"key1": value1, "key2": value2});
json_resp = response.pick("$..content").decode();
value = json_resp.pick("$..string");
// will work since json_resp is now a native KRL object