Javascript 将多个表结果合并为一个JSON azure移动服务
我想将多个表中的数据返回到一个json对象中,这样我就可以在客户端的其他对象列表中进行反序列化。客户端上的对象如下所示:Javascript 将多个表结果合并为一个JSON azure移动服务,javascript,json,azure-mobile-services,Javascript,Json,Azure Mobile Services,我想将多个表中的数据返回到一个json对象中,这样我就可以在客户端的其他对象列表中进行反序列化。客户端上的对象如下所示: class LastSyncEntity { public List<OptionSettings> option { get; set; } public List<Project> project { get; set;} } { [ {option object 1}
class LastSyncEntity
{
public List<OptionSettings> option { get; set; }
public List<Project> project { get; set;}
}
{
[
{option object 1}
{option object 2}
],
[
{project object 1}
{project object 2}
],
}
{
"option" : [
{ "option" : "object 1" },
{ "option" : "object 2" }
],
"project": [
{ "project" : "object 1" },
{ "project" : "object 2" }
]
}
如何让服务器上的javascript变成这样?我对javascript一无所知。您提到的API的输出不是真正有效的JSON。假设你想要这样的东西:
class LastSyncEntity
{
public List<OptionSettings> option { get; set; }
public List<Project> project { get; set;}
}
{
[
{option object 1}
{option object 2}
],
[
{project object 1}
{project object 2}
],
}
{
"option" : [
{ "option" : "object 1" },
{ "option" : "object 2" }
],
"project": [
{ "project" : "object 1" },
{ "project" : "object 2" }
]
}
然后,您可以按如下方式实现API:
exports.get = function(request, response) {
var optionTable = request.service.tables.getTable('option');
var projectTable = request.service.tables.getTable('project');
optionTable.where(function() {
return true; // add any filtering for options here
}).read({
success: function(options) {
projectTable.where(function() {
return true; // add any filtering for projects here
}.read({
success: function(projects) {
var result = { option: options, project: projects };
response.send(200, result);
}
});
}
});
}
当我尝试执行第二个table.read时,我不断得到一个内部服务器错误500,我知道java脚本是这样的:“exports.get=functionrequest,response{var optionTable=request.service.tables.getTable'optionSettings';var projectTable=request.service.tables.getTable'Project';projectTable.read{success:functionprojects{optionTable.read{success:functionoptions{response.send200,options;}}};};};}'查看服务器日志,它会告诉您错误是什么。具体来说,对于您的代码,您在调用projectTable的成功回调中有一个输入错误。您没有成功,而是成功了上一次的输入错误太多了,这只是输入错误!只是没有注意到而已