Sunday 2 April 2017

asp.net - jquery how to deserialize json object




How can you deserialize this json object below?



[{"id":"67","name":"TestString"}]


I tried to do this below but couldnt succeed...




success: function (data, status) {
$.each(data, function (dt) {

var mydata = data.d;

alert(mydata); // returns [{"id":"67","name":"TestString"}]

$("#txt_speciality").tokenInput("add", mydata.id);
});
}



here is the way I am creating the json object



[WebMethod]
public static string get_specialities(string ProfessionalID)
{
Database db = DatabaseFactory.CreateDatabase("Connection String2");
DbCommand dbCommand;
dbCommand = db.GetStoredProcCommand("Select_Professionals_Speciality");

db.AddInParameter(dbCommand, "prof_id", DbType.Int16, Convert.ToInt16(ProfessionalID));
IDataReader dr = db.ExecuteReader(dbCommand);
//[{ id: 3, name: "test3" }]
string return_str="[";
int i = 0;
while (dr.Read()) {
if (i > 0)
return_str += ",";
return_str += "{\"id\":\"" + dr["SpecialtyID"].ToString().Trim() + "\",\"name\":\"" + dr["SpecialtyName"].ToString().Trim() + "\"}";
i++;

}
return_str += "]";
return return_str;
}

Answer



You can do this with:



var mydata; // [{"id":"67","name":"TestString"}]


var json = $.parseJSON(mydata);


the json variable will contain the de-serialized json object


No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...