Prolog收到Json的帖子

这是我在stackoverflow中的第一个问题所以,请耐心等待.

我想要构建一个简单的Prolog api,它接收json帖子并在处理完之后发送另一个json帖子.我发现这个代码接收json:

handle(Request) :-
    http_read_json_dict(Request, DictIn),
    compute(DictIn, DictOut),
    reply_json(DictOut).

我假设compute是一个自定义谓词,用于测试目的是测试(D,D).

问题是,当我尝试在swi-prolog中测试句柄(Request)时,我得到错误消息ERROR:atom_codes / 2:参数没有被充分实例化或者我得到了错误.

我假设我只需要在请求中传递一个json,但它不起作用.我也尝试用邮件发送一个帖子,在主体中有一个json文件(raw和application / json),但是我得到了一个超时,其中eh..yea …
我的问题是我在Request中写什么以便它正确地实例化它?

如果这是一个糟糕/ noobie问题,请提前感谢并抱歉,但swi-prolog文档很糟糕,我无法在任何地方找到答案.

最佳答案 还有一些JSON读者/作者:

这个模块采用原子并通过DCG实现:
https://github.com/khueue/prolog-json/tree/master/src

该模块通过ISO流指令编码:
https://gist.github.com/jburse/63986bf525784d6d8cf99db132538d67#file-json_io-p

这两种方法都不需要Prolog dicts,适用于各种Prolog系统.

点赞