这使我疯狂,我希望有人遇到这个问题,想出一个干净,优雅的解决方案。当向LinkedIn REST Api发出JSON请求时,主体会以带有换行符的字符串形式返回。当我使用JSON解析字符串到JSON时,它出现来创建一个JSON对象,但我不能用点符号使用它们的相对键来访问这些值。我试图转义新的行字符,JSON.stringify然后解析等组合。我不能得到这个工作,它是讨厌的,虽然我敢肯定有一个简单的解决方案,我忽略。下面是来自LinkedIn的API响应:解析LinkedIn API响应正文JSON
{ “的StatusCode”:200, “体”: “{\ n \” numConnections \ “:152 \ n \” numConnectionsCapped \“: 假\ n }”, “标题”:{ “服务器”: “Apache的狼/ 1.1”, “X丽请求-ID”: “本身份识别码”, “改变”: “*”, “×丽格式”: “json”,“content-type”:“application/json; charset = UTF-8”,“date”:“星期二, 2017年1月10日00:08:01 GMT”,“x-li-fabric”: “PROD-ltx1”, “传输编码”: “分块”, “X丽弹出”: “PROD-ltx1”, “设定的cookie”:[ “LIDC = \” b = TB70:G = 489: ; Expires = Tue,2017年1月10日21:10:37 GMT; domain = .linkedin.com; Path = /“],”x = 129:i = 1484006881:t = 1484082637:s = AQG3LuLPqWuZiIoHGf2NqD8O7mRfdA4q \锂UUID “:” 53NCd2VAmBSAAWKrrSoAAA == “},” 请求 “:{” URI “:{” 协议 “:” https: “开头, ”斜线“:真 ”AUTH“:空, ”宿主“: ”api.linkedin.com“, ”端口“:443, ”主机名“:” api.linkedin .COM “ ”散“:空, ”搜索“: ”格式= JSON“, ”查询“: ”格式= JSON“, ”路径“:”/ V1 /人/ ID =身份识别码:(NUM的连接, “方法”:“/ 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”}, “:” GET”, “头”:{ “授权”: “承载 即为MyToken”}}}
我试图用密钥来访问值 “numConnections” 但就是无法获取到值。
使用JSON.parse(response.body)
让我这样的结果:
{ “numConnections”:152, “numConnectionsCapped”:假}
但我仍然无法访问使用
每个键关联的值myObj.numConnections
或我试过的任何其他表示法。如何在NodeJS中获取有效的JSON对象?
为了做到这一点,您应该可以很容易地验证使用Chrome控制台 - 我可以毫无问题地使用'let y = JSON.parse(response.body)'。 –