Node.js Json未解析为第三方API的新行\n

Node.js Json未解析为第三方API的新行\n,node.js,json,regex,express,Node.js,Json,Regex,Express,我试图做的是从第三方api得到的响应中获取新行,并将其路由到我的终端。问题是我得到的是\n而不是每个响应的新行 这与我正在做的一个学校项目有关,但我在这方面做得很差 当我试图逃离角色时,我并不是很精明,我所有的尝试都失败了 这是负责获取数据的代码的一部分 const Dota2API = require('dota2-web-api'); const express = require("express"); const dota2API = new Dota2API('80CAC0AD2974

我试图做的是从第三方api得到的响应中获取新行,并将其路由到我的终端。问题是我得到的是\n而不是每个响应的新行

这与我正在做的一个学校项目有关,但我在这方面做得很差

当我试图逃离角色时,我并不是很精明,我所有的尝试都失败了

这是负责获取数据的代码的一部分

const Dota2API = require('dota2-web-api');
const express = require("express");
const dota2API = new Dota2API('80CAC0AD297459DA36B70FD4365AEDD6', 'en_us');


const router = express.Router();


router.get('', (req, res, next) => {
    let KKona;
    dota2API.getLiveLeagueGames( function(r) {
        console.log(r);
        KKona = r;
        res.json(KKona);
    })
});



module.exports = router;
响应示例:

"{\n\"result\":{\n\"games\":[\n{\n\"players\":[\n{\n\"account_id\":307718596,\n\"name\":\"Осталось не долго\",\n\"hero_id\":9,\n\"team\":0\n},\n{\n\"account_id\":986933106,\n\"name\":\"Поросёнок228\",\n\"hero_id\":72,\n\"team\":1\n},\n{\n\"account_id\":352733459,\n\"name\":\"ками-\",\n\"hero_id\":94,\n\"team\":1\n},\n{\n\"account_id\":226243143,\n\"name\":\"youth\",\n\"hero_id\":9

用新行接收相同的数据,而不是\n

getLiveLeagueGames的输出,
r
的值为
string

您可以通过包含以下行来查看:

console.log(typeof r)
然后将其传递给
res.json
,后者正在将字符串处理为json

考虑将字符串解析为对象(
JSON.parse
)或直接将响应传递出去


另请注意,不要公开共享您的API密钥/机密。

您可以发布一个示例响应吗<代码>\n已经是新行的表示,应该由使用响应的人来处理。@ViniciusPinto是的,马上就要更新帖子了我以为
\n
在一个JSON字段的值中。在这种情况下,Dean answer应该这样做。哦,我的天哪,我甚至没有注意到api密钥,这可能已经破坏了我的steam帐户,已经撤销了它。@pepega还注意到,我通常希望从这样的库中得到类型为
object
的结果,如果
dota2 web api
库中存在错误,可能会出现这种情况。检查文档,如果需要,报告错误。