【发布时间】:2016-09-14 19:19:32
【问题描述】:
我正在使用 Node MongoDB 和 Express。我从 API 调用接收 JSON 并尝试将其传递给我的数据库。它正在进入数据库,但任何嵌套数组都失去了它们的结构并变成了一种结构,例如..
"nutritionEstimates[0][attribute]" : "FAT_KCAL",
"nutritionEstimates[0][description]" : "",
"nutritionEstimates[0][value]" : "310",
"nutritionEstimates[0][unit][id]" : "fea252f8-9888-4365-b005-e2c63ed3a776",
"nutritionEstimates[0][unit][name]" : "calorie",
"nutritionEstimates[0][unit][abbreviation]" : "kcal",
"nutritionEstimates[0][unit][plural]" : "calories",
"nutritionEstimates[0][unit][pluralAbbreviation]" : "kcal",
"nutritionEstimates[0][unit][decimal]" : "true",
"nutritionEstimates[1][attribute]" : "CAFFN",
"nutritionEstimates[1][description]" : "Caffeine",
"nutritionEstimates[1][value]" : "0.03",
"nutritionEstimates[1][unit][id]" : "12485d26-6e69-102c-9a8a-0030485841f8",
"nutritionEstimates[1][unit][name]" : "gram",
"nutritionEstimates[1][unit][abbreviation]" : "g",
"nutritionEstimates[1][unit][plural]" : "grams",
"nutritionEstimates[1][unit][pluralAbbreviation]" : "grams",
"nutritionEstimates[1][unit][decimal]" : "true",
我不知道具体是什么原因造成的,但我怀疑可能是僧侣试图格式化 JSON,如果我尝试将其作为字符串传递,它根本不会传递数据。我的一些代码供参考。应用 ID 和密钥已删除。
function saveRecipe(event){
event.preventDefault();
var recipeUrl = 'http://api.yummly.com/v1/api/recipe/' + this.value + '?_app_id=&_app_key=';
var json = $.getJSON(recipeUrl, function (data){
console.log(JSON.stringify(data));
$.ajax({
type: 'POST',
data: data,
url: '/saverecipe',
dataType: 'JSON'
});
});
};
我的 app.js 的开始
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var mongo = require('mongodb');
var monk = require('monk');
var db = monk('localhost:27017/favorite-recipes')
var routes = require('./routes/index');
var app = express();
感谢任何人提供的任何见解。
【问题讨论】:
标签: json node.js mongodb express