KRL:将字符串解析为JSON

时间:2011-03-28 17:07:01

标签: json krl

使用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()或其他什么?

1 个答案:

答案 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