解析HTTP响应内容字符串
parse http response content string
我在Meteor和我做一个HTTP javascript工作。获取对API的请求并接收响应res = {..., content: "access_token=4h378fi243h085giouf245&expires=5180430", data=null}
。如您所见,res.content
是一个字符串,但它实际上代表了一个漂亮的JSON对象{access_token: 4h378fi243h085giouf245, expires: 5180430}
。
是否有一个流星或Javascript包/简单的解决方案,把字符串变成那个对象?
(我见过一些手动字符串解析解决方案,但这似乎很粗糙,这似乎是流星或Javascript可以为您提供的。)
编辑:做JSON.parse(res.content)实际上是我尝试的第一件事,但它给了我'意外的令牌a',我从'access_token'猜测。为什么这行不通呢?
它实际上不是JSON,它是一个URL参数字符串。
var result = {};
res.content.split("&").forEach(function(part) {
var item = part.split("=");
result[item[0]] = decodeURIComponent(item[1]);
});
result = JSON.parse(result);
这里的所有答案都忘记了res.content不是JSON,而是一个查询字符串。关于如何获得值,请参阅以下问题:如何在JavaScript中获得查询字符串值?
我还创建了一个名为Cerealizer的JavaScript类库,它将查询字符串解析为对象。我相信github搜索也可以拉出其他人。
var parser = new Cerealizer.QueryString();
res.content = parser.deserialize(res.content);
JSON.parse
应该做你想做的事。
相关文章:
- 如何使用AngularJS应用基于Json字符串响应的条件CSS类
- 从字符串中删除 HTML(在 JSON 响应中)
- string http响应!=javascript中的相同字符串
- 如何根据字符串检查ajax响应
- 当类型设置为JSON时,如何检查AJAX响应字符串
- 在 $.ajax 中获取字符串响应
- 无法解析javascript中的json字符串,这是java方法的响应
- 如何将一些参数从javascript接收响应字符串 asp.net 页面并更新html文档
- XHR 响应文本为空字符串
- 如何返回对象而不是字符串以响应 nock
- 字符串替换函数没有响应
- jQuery 在 AJAX 响应字符串中查找脚本标记
- 如何将字符串数组响应转换为 javascript 2D 数组
- 返回 base64 文件的字符串作为响应 ASP.NET 使用 httpHandler 对 AJAX 请求的响应
- 如何从响应文本获取 JSON 字符串到 JavaScript 中
- html 响应数据 ID 不能在 Facebook API 调用中用作字符串
- XHRHTTPRequest 响应不能等于普通字符串
- IE将来自JAX-RS web服务的字符串响应视为文件
- 如何使用jQuery在GET请求上强制字符串响应
- 如何在$.ajax中使用if语句(并检查字符串响应