首页 > 解决方案 > 获取json term的成员

问题描述

我有一个 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])

标签: jsonprologswi-prolog

解决方案


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

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

推荐阅读