Node Express& JSON响应格式

时间:2016-10-17 14:19:18

标签: json node.js express

我想知道为什么我使用转义双引号获取我的JSON响应。将JSON响应发送回客户端的最佳做法是什么?

代码

students =    FirebaseDatabase.getInstance().getReference().child("students");
studentsQuery = students.orderByChild("age").startAt(20).endAt(25);

bikeAdapter = new FirebaseListAdapter<Student>
     (getActivity(), Student.class, R.layout.list_item, studentsQuery) {

输出

var express = require('express');
var server = express();
var country = '';
var dataStr = '[{"country_code" : "USA", "country_name" : "United States","bac_limit" : 0.80}, { "country_code" : "CAN", "country_name" : "United States","bac_limit":0.80}]';
connectToMongoDb();

server.get('/', function(req, res){
   country = req.query.country;
   res.json(dataStr);
});
server.listen(8080);

1 个答案:

答案 0 :(得分:1)

您的dataStr实际上是一个字符串,res.json调用正在发送字符串。如果您希望将数据作为JSON发送,请不要将其作为字符串,而是将JS对象/数组(或使用JSON.parse):

var dataStr = [{"country_code" : "USA", "country_name" : "United States","bac_limit" : 0.80}, { "country_code" : "CAN", "country_name" : "United States","bac_limit":0.80}]
// alternatively, JSON.parse(dataStr)
connectToMongoDb()

server.get('/', function(req, res){
 country = req.query.country
 res.json(dataStr)
})