3

使用后,我从哈希中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()或什么,也许?

4

1 回答 1

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
于 2011-03-28T17:21:08.353 回答