如何从多类型API响应中提取Id字段并补全缺失值?
API响应数据提取需求
三种API响应类型
- 第一种响应类型:
[[1]] Response [https://api.secure.com/v4/people/111548751] Date: 2022-09-07 01:28 Status: 200 Content-Type: application/json; charset=utf-8 Size: 2.16 kB { "Id": 111548751, "firstName": "Jeff", "lastName": "Smith", "middleName": null, "suffix": null, "title": null, "sourceFileTitle": null, "sourceFileFirstName": null, "sourceFileMiddleName": null, ...
- 第二种响应类型:
[[1]] Response [https://api.secure.com/v4/people/findOrCreate/] Date: 2022-09-07 01:29 Status: 201 Content-Type: application/json; charset=utf-8 Size: 58 B { "Id": 111634535, "status": "UnmatchedStored" }
- 第三种响应类型:
[[1]] Response [https://api.secure.com/v4/people/findOrCreate/] Date: 2022-09-07 05:38 Status: 500 Content-Type: application/json; charset=utf-8 Size: 164 B { "errors": [ { "code": "INTERNAL_SERVER_ERROR", "text": "An unknown error occurred", "referenceCode": "A-7731DC-490283" } ] }
现有提取代码
所有响应数据存储在名为get_data的列表中,当前已实现的提取代码如下:
data_log <- get_data %>% map_df(extract, c("url", "date", "status_code"))
执行后会生成包含url、date、status_code三个字段的表格。
新增提取需求
需要在现有表格中新增一列,提取规则为:
- 若响应包含
Id字段,提取对应的Id值; - 若响应不含
Id字段(如第三种响应),则填充No ID。
内容的提问来源于stack exchange,提问作者wizkids121
相关产品推荐
相关产品推荐

