function tableToJson(activeTab) {
var data = [];
// first row needs to be headers
var headers = [];
var header_length = $('#grd_'+(activeTab+1)+' tbody th').length;
for (var i = 0; i < header_length; i++) {
var header_name = $('#grd_' + (activeTab + 1) + ' tbody th')[i].innerHTML;
switch (header_name) {
case "Your Type":
headers[i] = "YourType";
break;
case "Code":
headers[i] = "YourCode";
break;
case "Your Type":
headers[i] = "YourType";
break;
case "Your life":
headers[i] = "YourLife";
break;
case "Period":
headers[i] = "YourPeriod";
break;
case "Qualifying Cost":
headers[i] = "OriginalCost";
break;
case "B/F Cost":
headers[i] = "Cost";
break;
case "Rate%":
headers[i] = "Rate%";
break;
case "Your Amount":
headers[i] = "YourRate";
break;
case "Your Amount":
headers[i] = "YourAmount";
break;
case "Your Carrying Amount":
headers[i] = "YourCarryingAmount";
break;
case "Last Date":
headers[i] = "YourGeneratedDate";
break;
default:
break;
}
}
// go through cells
var totalRowData_length = $('#grd_' + (activeTab + 1) + ' tbody tr').length;
for (var i = 1; i < totalRowData_length; i++) {
var tableRow = $('#grd_' + (activeTab + 1) + ' tbody tr')[i]
var tableRow_length = $('#grd_' + (activeTab + 1) + ' tbody tr')[i].cells.length;
var rowData = {};
for (var j = 0; j < tableRow_length; j++)
{
var dt = $('#grd_' + (activeTab + 1) + ' tbody tr')[i].cells[j].innerHTML;
if (dt.indexOf('INPUT') != -1) {
var mypattern = "value=\'?[0-9]*\.?[0-9]*\'?";
var myRegExp = new RegExp('(' + mypattern + ')', "g");
var result = dt.match(myRegExp);
var length = result.length;
if (result.length > 0)
dt = result[0].replace("value=", "");
else
dt = "0.00";
}
rowData[headers[j]] = dt;
}
data.push(rowData);
}
return data;
}Is above valid Json ? How do I check whether it is valid?
After converted tables to Json array over clientside script, I got Invalid Json primitive error when passing the following code.
JavaScriptSerializer serializer = new JavaScriptSerializer();
List<ABC> lstABC = serializer.Deserialize<List<ABC>>("{"+((TextBox)Master.FindControl("txtABCString")).Text+"}");What are the possible matter that can cause this problem. I had changed the header name to be exacted with ABC class. I am not sure what else could be the cause. There are date field in the class. Should I convert the date field to DateTime? But I do the conversion over client side..
After adding the "{" "}" I got the error below instead. What is it about really? what is the member name regarding to?
Invalid object passed in, member name expected. (1): {[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]}