json获得谓词(v2)

时间:2018-01-10 11:52:01

标签: json prolog swi-prolog

这是我使用的谓词

json_get(json_obj(JSON_obj), Field, Result) :-
    memberchk((Field,Result), JSON_obj).

json_get(JSON_obj, Fields, Result) :-
        maplist(json_get(JSON_obj), Fields, Result).

所以使用这样的测试

json_parse('{"nome" : "Arthur", "cognome" : "Dent"}', O),
json_get(O, ["nome"], R).

没问题。

但谓词没有使用像这样的测试

json_parse('{"nome" : "Zaphod",
"heads" : ["Head1", "Head2"]}', Z),
json_get(Z, ["heads", 1], R).

如何更改谓词以解决此问题?

由于

朱塞佩

0 个答案:

没有答案