phl*_*lie 2 lisp json common-lisp
我试图在Common Lisp中获取JSON导入.我想出了如何从JSON字符串解码对象,但我不知道如何访问返回的对象的属性.要解码一个字符串(并将结果存储在***tempjson**中),我这样做:
(defun test-json ()
(with-input-from-string
(s "{\"foo\": [1, 2, 3], \"bar\": true, \"baz\": \"!\"}")
(defparameter *tempjson* (json:decode-json s))))
Run Code Online (Sandbox Code Playgroud)
如何访问*tempjson*数据.例如,如何获取foo属性的值?
decode-json似乎返回一个关联列表(至少在这种情况下;请参阅文档).您可以使用以下函数访问值assoc:
(defun test-json ()
(with-input-from-string (s "{\"foo\": [1, 2, 3], \"bar\": true, \"baz\": \"!\"}")
(let ((data (json:decode-json s)))
(format t "~a~%" (rest (assoc :foo data))))))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
885 次 |
| 最近记录: |