Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在配置json数据时遇到问题,并且有点卡住_Javascript_Node.js_Json_Express - Fatal编程技术网

Javascript 在配置json数据时遇到问题,并且有点卡住

Javascript 在配置json数据时遇到问题,并且有点卡住,javascript,node.js,json,express,Javascript,Node.js,Json,Express,我有一个expressget请求中的json数据,该请求使用select语句检索表中的行数。我正在尝试配置如何配置json数据,如下所示: { "metaData": [ { "name": "COUNT(*)" } ], "rows": [ { "COUNT(*)": 1 } ] } { "id":1, "name":"Incidents", "type":total } 我想将其配置为如

我有一个expressget请求中的json数据,该请求使用select语句检索表中的行数。我正在尝试配置如何配置json数据,如下所示:

{
  "metaData": [
    {
      "name": "COUNT(*)"
    }
  ],
  "rows": [
    {
      "COUNT(*)": 1
    }
  ]
}
{
     "id":1,
     "name":"Incidents",
     "type":total
}
我想将其配置为如下内容:

{
  "metaData": [
    {
      "name": "COUNT(*)"
    }
  ],
  "rows": [
    {
      "COUNT(*)": 1
    }
  ]
}
{
     "id":1,
     "name":"Incidents",
     "type":total
}

实际上,在JS中使用JSON非常容易,因为JSON实际上就是我们表示JS对象的方式(JavaSscriptObjectNotation),因此我们可以轻松地从JSON中读取并创建我们自己的JSON

为了做到这一点,我们首先需要通过访问
行的第一项
中的
COUNT(*)
来访问返回的JSON中的总数。我们使用
req.body[“rows”][0][“COUNT(*)”]
执行此操作,然后将其存储在变量
total

然后,我们按照标准JSON中显示的方式来布局我们自己的对象,让它从我们刚刚创建的变量
total
中访问total。然后我们使用
console.log
显示结果

// I presume req.body is the data returned from express
let total = req.body["rows"][0]["COUNT(*)"];
let newJSON = {
   "id": 1, // Or whatever ID you want
   "name": "Incidents",
   "type": total,
};
console.log(newJSON);
最后,如果您想将其转换为字符串,我们可以使用
JSON.stringify

let jsonString = JSON.stringify(newJSON);

我想是的,但还有一个问题。。如何将内容类型和允许跨源标题添加到newjson@CharlesFeltman很抱歉反应太晚!我猜您想把从express返回的头文件放到newJSON中,对吗?为了从快速请求中获取标题,您可以使用
req.header(“headerNameHere”)
,因此为了添加这些标题,您需要在
“Type”:total之后添加类似
“Content Type”:req.header(“Content Type”),
然后执行相同的操作,将
内容类型
替换为
允许跨源标题
。好的,我将添加这些项目,谢谢您的帮助!