JSON API结果格式

伙计们,使用restify.js在Node.JS中devise我的第一个API。 我的背景不是webapis,请原谅我的业余问题。 无论如何,我想有res.send(data); 响应遵守http://jsonapi.org/format/,以便我的移动应用程序可以开始使用API​​调用。 此刻如果你打电话给我的api,它会返回以下格式的数据:

{"Count":1,"Items":[{"dbsource":{"S":"foo"},"id":{"S":"5002820"},"name":{"S":"fnameblah,lnameblah"},"expiration":{"S":"06/13/2015"},"type":{"S":"bar"}}]} 

实际上你看到的只是DynamoDB查询调用的返回。

所以问题是…你使用一个特殊的库,你可以传递数据,这将格式化并返回JSON格式的数据。 反过来,你可以通过res.send(data)将它返回给客户端,还是由我们来做'数据'JSON兼容,然后返回? 在一天结束时,我们都希望结果如下所示:

 { "posts": [{ "id": "1", "title": "Rails is Omakase", "links": { "author": "9", "comments": [ "5", "12", "17", "20" ] } }] } 

谢谢!

在服务器端,将JSON对象串化,

 //... res.statusCode = 200; res.setHeader('Content-Type', 'application/json'); res.send(JSON.stringify(data)); //data is JSON object res.end(); 

在客户端,相应地parsingJSONstring。

编辑:更正的响应内容types。

来自服务器的JSON数据应该是JSONstring

你必须在客户端parsing它的JSON格式。

 JSON.parse(string); // return JSON object