ExpressJS SyntaxError:意外的标记C

我试图将我的string保存为一个逗号分隔数组,但是当我尝试使用JSON.parse方法时,发送一个post方法并尝试保存logging时收到此错误:

 SyntaxError: Unexpected token c at Object.parse (native) at router.route.post.get.res.render.blogpost (/Users/user/Desktop/Projects/node/blog/app/routes.js:106:34) 

这是我的路线(错误来自blogpost.save):

 router.route('/admin/posts/create') // START POST method .post(function(req, res) { console.log("New instance"); var blogpost = new Blogpost(); // create a new instance of a Blogpost model blogpost.title = req.body.title; // set the blog title blogpost.featureImage = req.body.featureImage; // set the blog image blogpost.blogUrl = blogpost.title.toLowerCase().replace(/\s+/g,"-"); blogpost.author = req.body.author; // set the author name blogpost.tagline = req.body.tagline; // set the tagline blogpost.content = req.body.content; // set the blog content blogpost.category = req.body.category; // set the category blogpost.tags = JSON.parse(req.body.tags.split(",")); // set the tags //Save Blog Post blogpost.save(function(err) { if (err) res.send(err); res.redirect(303, '/'); //NEEDS TO BE CHANGED }); }) // END POST method .get(isLoggedIn, function(req, res, blogpost) { res.render('pages/blogpost-create', { blogpost : blogpost }); }); 

JSON.parse将一个string(有效的JSON)parsing成一个对象/数组。

你已经有了一个数组,就像你在做的一样

 req.body.tags.split(",") 

split()创build一个数组。 你不能parsing一个数组,但是你可以把它串联起来