首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Javascript说一个对象是一个字符串,不允许我访问它的键值(请求承诺)

Javascript说一个对象是一个字符串,不允许我访问它的键值(请求承诺)
EN

Stack Overflow用户
提问于 2020-04-17 03:39:29
回答 1查看 74关注 0票数 0

似乎无论我对结果做什么,即使它作为一个对象返回,因为当我console.log它时,它会打印对象对象,但是当我检查它的类型时,它总是一个字符串,无论我做什么,我都会立即执行JSON.parse,因为它已经是一个对象,只是由于某种原因而没有被识别为一个对象。如果我字符串赋值,然后解析,它仍然是一个字符串。

这是我得到的:{ "PPR":“一些文本”,"DDA":“另一个文本”}

代码语言:javascript
代码运行次数:0
运行
复制
 var rp = require('request-promise');

 function myff(input, callback) {

 const URL = "https://test.com";


 try{
    var options = {
        method: 'GET',
        uri: URL,
        headers:{
          'Content-Type': 'application/json',
          'key': 'xxff'
        },
    };

    rp(options)
        .then(function (parsedBody) {
            var a = parsedBody;
            console.log("ParsedBody: " +  a);
            console.log("ParsedBody type : " + typeof a);

               var stringy = JSON.stringify(parsedBody);
               var parsy = JSON.parse(stringy);

               console.log("type stringy: " + typeof stringy);
               console.log("type parsy: " + typeof parsy);


            callback(null, JSON.parse(parsedBody));

        })
        .catch(function (err) {
            console.log(err)
        });

 }catch (e){
     console.log(" erros:" + e);
 }
 }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-17 03:50:36

您只需要解析返回的JSON响应。在console语句中使用逗号运算符,因为(+)会导致连接,您将无法看到正确的结果。

代码语言:javascript
代码运行次数:0
运行
复制
var rp = require('request-promise');

 function myff(input, callback) {

 const URL = "https://test.com";


 try{
    var options = {
        method: 'GET',
        uri: URL,
        headers:{
          'Content-Type': 'application/json',
          'key': 'xxff'
        },
    };

    rp(options)
        .then(function (parsedBody) {
            var a = JSON.parse(parsedBody);
            console.log("ParsedBody: ",  a);
            console.log("ParsedBody type : ", typeof a);

            callback(null, a);

        })
        .catch(function (err) {
            console.log(err)
        });

 }catch (e){
     console.log(" erros:" + e);
 }
 }

我希望它能对你有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61258716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档