[英]How to use the key values of a prolog dict in a predicate?
我有一個簡單的問題,很難找到答案。
我正在構建一個讀取json的api,目前它已成功通過http_read_json_dict將json轉換為dict。 問題是,我不知道如何訪問字典中的屬性並在謂詞中使用該數據。
我嘗試遵循swi-prolog
文檔,但無濟於事...你們知道一種方法嗎?
我試圖通過此測試來讀取dict的內容,但是卻收到"key_value expected, found a dict"
錯誤。 請不要把我燒死在火刑柱上:
json包含: [{"task":"learnprolog","dayofmonth":2}]
http_read_json_dict(Request, JSONIn,[json_object(term)]),
X = JSONIn,
format(user_output,"task is: ~p~n",[X.task]),
JSONOut=JSONIn.
但是我真的希望做這樣的事情:
predicate(X):- X.dayofmonth==2,doSomething(X.task);doSomethingElse(X.task)
。
非常感謝您的幫助!
不知道細節,沒有與您使用的服務器類似的服務器設置...但是
?- open_codes_stream(`[{"task":"learnprolog","dayofmonth":"2"}]`,S),json_read_dict(S,[J]),close(S),write(J.dayofmonth).
2
S = <stream>(0x7f5f14304dd0),
J = _G15591{dayofmonth:"2", task:"learnprolog"}.
注意J周圍的方括號
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.