Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.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
Node.js 节点xmlbuilder mod TypeError:将循环结构转换为JSON_Node.js - Fatal编程技术网

Node.js 节点xmlbuilder mod TypeError:将循环结构转换为JSON

Node.js 节点xmlbuilder mod TypeError:将循环结构转换为JSON,node.js,Node.js,我试着用这个,但是我得到了一个 将循环结构转换为JSON错误 我不知道为什么会发生这种情况,下面是代码: 路线: app.get('/api/qb', function(req, res) { qbwc.test(req, function(result){ res.send(result); }); }); exports.test = function(data, next) { var obj = { person: { name: "John",

我试着用这个,但是我得到了一个

将循环结构转换为JSON错误

我不知道为什么会发生这种情况,下面是代码:

路线:

app.get('/api/qb', function(req, res) {
  qbwc.test(req, function(result){
    res.send(result);
  });
});
exports.test = function(data, next) {
  var obj = {
    person: {
      name: "John",
      '@age': 35,
      address: {
        city: "Istanbul"
      },
      phone: [
        {
          '#text': "555-1234",
          '@type': 'home'
        }, {
          '#text': "555-1235",
          '@type': 'mobile'
        }
      ],
      id: function() {
        return 42;
      }
    }
  };

  var root = builder.create(obj);
  return next(root);

}
模块:

app.get('/api/qb', function(req, res) {
  qbwc.test(req, function(result){
    res.send(result);
  });
});
exports.test = function(data, next) {
  var obj = {
    person: {
      name: "John",
      '@age': 35,
      address: {
        city: "Istanbul"
      },
      phone: [
        {
          '#text': "555-1234",
          '@type': 'home'
        }, {
          '#text': "555-1235",
          '@type': 'mobile'
        }
      ],
      id: function() {
        return 42;
      }
    }
  };

  var root = builder.create(obj);
  return next(root);

}
编辑: 我还尝试了一些非常简单的测试,同样的问题:

var obj = { name: 'smith'};
var root = builder.create(obj);
return next(root);

好的,在做了大量的头发拉扯之后,您似乎需要在这个过程中调用.end(),我不知道为什么示例中没有这个

以下是您需要做的:

  ...
  var root = builder.create(obj);
  root = root.end({pretty: false});
  return next(root);

好的,在做了大量的头发拉扯之后,您似乎需要在这个过程中调用.end(),我不知道为什么示例中没有这个

以下是您需要做的:

  ...
  var root = builder.create(obj);
  root = root.end({pretty: false});
  return next(root);