获取JSON词的成员

时间:2018-10-20 13:36:26

标签: json prolog swi-prolog

我有一个api端点,该端点返回一个项目数组。 我想从项目数组中获取每个名称。

项目数组是:

[
  {
    id: 30,
    name: "B",
    created_at: "2018-10-15 14:26:23",
    updated_at: "2018-10-15 14:26:23"
  },
  {
    id: 31,
    name: "C",
    created_at: "2018-10-15 14:26:23",
    updated_at: "2018-10-15 14:26:23"
  }
]

我目前这样检索它:

getCarClasses(Object) :- 
HREF = 'http://127.0.0.1:8000/api/classes',
http_get(HREF,Object,[]).`

然后我有一个打印所有项目的函数,但是我不知道如何获取属性名称。

createDynamicCarClassFacts([]).
createDynamicCarClassFacts([H|T]) :- write(H), write('\n'), createDynamicCarClassFacts(T).

当前打印例如:

json([id=30,name=B,created_at=2018-10-15 14:26:23,updated_at=2018-10-15 14:26:23])

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。 我将谓词更改为:

createDynamicCarClassFacts([json(H)|T]) :- member(name=Name,H), write(Name), write('\n'), createDynamicCarClassFacts(T).