我有两个问题。 如何在prolog中获取json对象的值? 如何以json的形式从谓词发送解决方案列表?
我的代码:
handle(Request) :-
format(user_output,"I'm here~n",[]),
http_read_json(Request, DictIn,[json_object(term)]),
%beat(DictIn.name,DictIn.move,X),
%get list of solution of beat in to JSON and keep it in DictOut
reply_json(DictOut).
答案 0 :(得分:2)
我假设你正在使用SWI Prolog。您的代码建议您要将JSON转换为SWI Prolog dicts。所以你需要改变
http_read_json(Request, DictIn, [json_object(term)])
到
http_read_json(Request, DictIn, [json_object(dict)])
,
或者您可以使用http_read_json_dict/2
。请注意,Request
必须是PUT或POST请求,否则这些谓词将抛出domain_error(Type, Term)
。
您可以打印DictIn
以查看要提取的字段。
对于回复,请使用reply_json_dict/{1, 2}
。