При попытке подстроить объект, содержащий массив объектов, я получаю пустой массив, когда вижу, что у меня есть значения.Пытается использовать JSON для строения объекта, который содержит массив объектов.
filterDto: {
Expressions: []
},
/* Using a tempArray to see if its an object issue of my filterDto.Expressions */
fnBuildFilterValues: function() {
var invoiceObj = this;
var tempArray = new Array();
$("#tblExpressions tr").each(function() {
var doWeAddRow = false;
var filterObject = {
"Field": {},
"Condition": {},
"DataValue": {}
};
$(this).find(":input").each(function() {
if ( $(this).attr('name') === 'ddlFieldExp') {
filterObject.Field = $(this).val();
}
if ( $(this).attr('name') === 'ddlConditionExp') {
filterObject.Condition = $(this).val();
}
if ( $(this).attr('name') === 'tbDataExp') {
filterObject.DataValue = $(this).val();
}
}); /* Inner loop */
tempArray.push(filterObject);
}); /* Outer loop */
invoiceObj.filterDto.Expressions = tempArray;
},
И то, что я хочу использовать что-то вроде:
var objToString = {};
objToString = JSON.stringify(invoiceObj.filterDto)
Я попытался с помощью = {}, как средство, но я до сих пор в конечном итоге с ObjToString быть пустым, когда мой массив заполняется. Это шоу, как это: {"Expressions":[]}
Если я делаю quickwatch в VS в правой части, то JSON.stringify я получаю это:
JSON.stringify(invoiceObj.filterDto)
"{"Expressions":[{"Field":"6","Condition":"0","DataValue":"2"}]}" String
Но почему же ObjToString показывает пустой результат?
invoiceObj.filterDto.Expressions = tempArray; – cjsmith
Где вы делаете JSON.stringify()? Вы этого не показываете. Я предполагаю, что вы не делаете JSON.stringify() правильно. FYI, инициализация переменной объекту абсолютно ничего не делает, когда вы просто назначаете ей что-то еще. – jfriend00
Я могу сделать var test = JSON.stringify (invoiceObj.filterDto) прямо под выходом этой функции, и получаю тот же результат. Я вызываю stringify позже внутри сообщения jqGrid, но перед этим возникает проблема с тем, как этот объект форматируется из JSON. – cjsmith