【发布时间】:2017-05-24 09:02:58
【问题描述】:
这让我发疯了,我希望有人遇到过这个问题并想出一个干净、优雅的解决方案。当向 LinkedIn REST Api 发出 JSON 请求时,正文作为带有换行符的字符串返回。当我使用 JSON.parse 将字符串解析为 JSON 时,它 似乎 会创建一个 JSON 对象,但我无法使用它们的相对键访问带有点符号的值。我尝试转义换行符、JSON.stringify 的组合然后解析等。我无法让它工作,而且很讨厌,尽管我确信有一个我忽略的简单解决方案。以下是来自 LinkedIn API 的响应:
{"statusCode":200,"body":"{\n \"numConnections\": 152,\n \"numConnectionsCapped\": false\n}","headers":{"server":"Apache-Coyote/1.1","x-li-request-id":"myid","vary":"*","x-li-格式":"json","content-type":"application/json;charset=UTF-8","date":"星期二, 2017 年 1 月 10 日 00:08:01 GMT","x-li-fabric":"prod-ltx1","传输编码":"chunked","x-li-pop":"prod-ltx1","set-cookie":["lidc =\"b=TB70:g=489:u=129:i=1484006881:t=1484082637:s=AQG3LuLPqWuZiIoHGf2NqD8O7mRfdA4q\"; 到期=格林威治标准时间 2017 年 1 月 10 日星期二 21:10:37;域=.linkedin.com; Path=/"],"x-li-uuid":"53NCd2VAmBSAAWKrrSoAAA=="},"request":{"uri":{"protocol":"https:","slashes":true,"auth": null,"host":"api.linkedin.com","port":443,"hostname":"api.linkedin.com","hash":null,"search":"?format=json"," query":"format=json","pathname":"/v1/people/id=myid:(num-connections,num-connections-capped)","path":"/v1/people/id=myid: (num-connections,num-connections-capped)?format=json","href":"https://api.linkedin.com/v1/people/id=myid:(num-connections,num-connections-capped)?format=json"},"method":"GET","headers":{"authorization":"Bearer 我的令牌"}}}
我正在尝试使用键“numConnections”访问该值,但无法访问该值。
使用JSON.parse(response.body) 得到这个结果:
{"numConnections":152,"numConnectionsCapped":false}
但是我仍然无法访问与每个键关联的值
myObj.numConnections 或我尝试过的任何其他表示法。如何在 NodeJS 中从中获取有效的 JSON 对象?
【问题讨论】:
标签: javascript json node.js api linkedin-api