Convert String to Array of JSON Objects (Node.js)

express, javascript, json, node.js

Solution

How about this:

var obj = JSON.parse("{\"items\":" + request.param('items') + "}");
obj.title = request.param('title');
obj.thumb = request.param('thumb');

JSON.stringify(obj);

Problem

I'm using Node.js and express (3.x). I have to provide an API for a mac client and from a post request I extract the correct fields. (The use of request.param is mandatory) But the fields should be composed back together to JSON, instead of strings. I got: ``` var obj = { "title": request.param('title'), "thumb": request.param('thumb'), "items": request.param('items') }; ``` and request.param('items') contains an array of object but still as a string: ``` '[{"name":"this"},{"name":"that"}]' ``` I want to append it so it becomes: ``` var obj = { "title": request.param('title'), "thumb": request.param('thumb'), "items": [{"name":"this"},{"name":"that"}] }; ``` Instead of ``` var obj = { "title": request.param('title'), "thumb": request.param('thumb'), "items": "[{\"name\":\"this\"},{\"name\":\"that\"}]" }; ``` Anyone who can help me with this? JSON.parse doesn't parse an array of object, only valid JSON.

Original source