Node.js 如何使用nodeJS从axios库获取有效的JSON响应

Node.js 如何使用nodeJS从axios库获取有效的JSON响应,node.js,json,axios,Node.js,Json,Axios,我正在尝试使用AXIOS库和response.data在console.log中返回以下内容,以访问REST端点: 重新响应console.log(response.data) 但当我在postman中点击相同的REST端点时,我可以得到如下所示的整个响应JSON: 邮差输出(预期): { "sqlQuery": "select type,subtype from wetrade_p2 where parent_id='69341269'",

我正在尝试使用AXIOS库和response.data在console.log中返回以下内容,以访问REST端点:

重新响应console.log(response.data)

但当我在postman中点击相同的REST端点时,我可以得到如下所示的整个响应JSON:

邮差输出(预期):

{
    "sqlQuery": "select type,subtype from wetrade_p2 where parent_id='69341269'",
    "message": "2 rows selected",
    "row": [
        {
            "column": [
                {
                    "value": "W",
                    "name": "TYPE"
                },
                {
                    "value": "P",
                    "name": "STATUS"
                },
                {
                    "value": "0",
                    "name": "SUBTYPE"
                },
                {
                    "value": "USD",
                    "name": "CURRENCY"
                }
            ]
        },
        {
            "column": [
                {
                    "value": "W",
                    "name": "TYPE"
                },
                {
                    "value": "S",
                    "name": "STATUS"
                },
                {
                    "value": "0",
                    "name": "SUBTYPE"
                },
                {
                    "value": "USD",
                    "name": "CURRENCY"
                }
            ]
  
        }
    ]
}
sqlQuery: "select type,subtype from wetrade_p2 where parent_id=69341269"
message: "2 rows selected"
row: [
    {
        "column": [
            {
                "value": "W",
                "name": "TYPE"
            },
            {
                "value": "P",
                "name": "STATUS"
            },
            {
                "value": "0",
                "name": "SUBTYPE"
            },
            {
                "value": "USD",
                "name": "CURRENCY"
            }
        ]
    },
    {
        "column": [
            {
                "value": "W",
                "name": "TYPE"
            },
            {
                "value": "S",
                "name": "STATUS"
            },
            {
                "value": "0",
                "name": "SUBTYPE"
            },
            {
                "value": "USD",
                "name": "CURRENCY"
            }
        ]

    }
]
await axios[methodType](url, body, {
                httpsAgent:httpsAgent,
                headers: {
                    "Accept": "application/json",
                    "Content-Type": "application/json",
                    "Access-Control-Allow-Origin": true
                }
        
            }).then(response => {
                console.log("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++")
                console.log(response.data);
                console.log(JSON.stringify(response.data))
                console.log("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++")
                console.log(response);
                
            
           }).catch(error => {
                      
                        console.log(error);
           });
我还尝试将response.data设置为stingify,它返回到response下面,而response无法解析()

当我尝试使用JSON.stringify(response.data)时,在console.log中获得下面的响应:

{
    "sqlQuery": "select type,subtype from wetrade_p2 where parent_id='69341269'",
    "message": "2 rows selected",
    "row": [
        {
            "column": [
                {
                    "value": "W",
                    "name": "TYPE"
                },
                {
                    "value": "P",
                    "name": "STATUS"
                },
                {
                    "value": "0",
                    "name": "SUBTYPE"
                },
                {
                    "value": "USD",
                    "name": "CURRENCY"
                }
            ]
        },
        {
            "column": [
                {
                    "value": "W",
                    "name": "TYPE"
                },
                {
                    "value": "S",
                    "name": "STATUS"
                },
                {
                    "value": "0",
                    "name": "SUBTYPE"
                },
                {
                    "value": "USD",
                    "name": "CURRENCY"
                }
            ]
  
        }
    ]
}
sqlQuery: "select type,subtype from wetrade_p2 where parent_id=69341269"
message: "2 rows selected"
row: [
    {
        "column": [
            {
                "value": "W",
                "name": "TYPE"
            },
            {
                "value": "P",
                "name": "STATUS"
            },
            {
                "value": "0",
                "name": "SUBTYPE"
            },
            {
                "value": "USD",
                "name": "CURRENCY"
            }
        ]
    },
    {
        "column": [
            {
                "value": "W",
                "name": "TYPE"
            },
            {
                "value": "S",
                "name": "STATUS"
            },
            {
                "value": "0",
                "name": "SUBTYPE"
            },
            {
                "value": "USD",
                "name": "CURRENCY"
            }
        ]

    }
]
await axios[methodType](url, body, {
                httpsAgent:httpsAgent,
                headers: {
                    "Accept": "application/json",
                    "Content-Type": "application/json",
                    "Access-Control-Allow-Origin": true
                }
        
            }).then(response => {
                console.log("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++")
                console.log(response.data);
                console.log(JSON.stringify(response.data))
                console.log("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++")
                console.log(response);
                
            
           }).catch(error => {
                      
                        console.log(error);
           });
示例代码:

{
    "sqlQuery": "select type,subtype from wetrade_p2 where parent_id='69341269'",
    "message": "2 rows selected",
    "row": [
        {
            "column": [
                {
                    "value": "W",
                    "name": "TYPE"
                },
                {
                    "value": "P",
                    "name": "STATUS"
                },
                {
                    "value": "0",
                    "name": "SUBTYPE"
                },
                {
                    "value": "USD",
                    "name": "CURRENCY"
                }
            ]
        },
        {
            "column": [
                {
                    "value": "W",
                    "name": "TYPE"
                },
                {
                    "value": "S",
                    "name": "STATUS"
                },
                {
                    "value": "0",
                    "name": "SUBTYPE"
                },
                {
                    "value": "USD",
                    "name": "CURRENCY"
                }
            ]
  
        }
    ]
}
sqlQuery: "select type,subtype from wetrade_p2 where parent_id=69341269"
message: "2 rows selected"
row: [
    {
        "column": [
            {
                "value": "W",
                "name": "TYPE"
            },
            {
                "value": "P",
                "name": "STATUS"
            },
            {
                "value": "0",
                "name": "SUBTYPE"
            },
            {
                "value": "USD",
                "name": "CURRENCY"
            }
        ]
    },
    {
        "column": [
            {
                "value": "W",
                "name": "TYPE"
            },
            {
                "value": "S",
                "name": "STATUS"
            },
            {
                "value": "0",
                "name": "SUBTYPE"
            },
            {
                "value": "USD",
                "name": "CURRENCY"
            }
        ]

    }
]
await axios[methodType](url, body, {
                httpsAgent:httpsAgent,
                headers: {
                    "Accept": "application/json",
                    "Content-Type": "application/json",
                    "Access-Control-Allow-Origin": true
                }
        
            }).then(response => {
                console.log("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++")
                console.log(response.data);
                console.log(JSON.stringify(response.data))
                console.log("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++")
                console.log(response);
                
            
           }).catch(error => {
                      
                        console.log(error);
           });

您确实获得了正确的数据,只是node.js不会在控制台/stdout中显示它。您可以使用
util.inspect()
获得更好的格式输出。试试这个:

const util=require('util');
// ...
log(util.inspect(response.data,{showHidden:false,depth:null}));

是否可以将格式化响应分配到任何变量中?