Search code examples
c#asp.netweb-servicesjsonconvert

Issue In JSON Result when using JsonConvert.SerializeObject C#


I am getting bellow result when serializing the C# Model into JSON object.

This is my model.

public class ResultSet 
{
public int RowsInserted { get; set; }
public string RequestStatus { get; set; }
}

In my controller, I am creating an object to the model and assigning the values.

{
     ResultSet objResultSet = new ResultSet(); 
     objResultSet.RowsInserted = result;
     objResultSet.RequestStatus = "SuccessFul";
}

When returning the result I used the JsonConvert.Serialize

  return JsonConvert.SerializeObject(objResultSet);

I am getting the JSON result like the bellow :

"{\"RowsInserted\":1,\"RequestStatus\":\"SuccessFul\"}"

The actual result I am expecting is:

{"RowsInserted":1,"RequestStatus":"SuccessFul"}


Solution

  • I resolved this by changing the return type of method to the class instead of a string like this.

    New method:

    public ResultSet getData()
    {
         ResultSet objResultSet = new ResultSet(); 
    
         objResultSet.RowsInserted = result;
         objResultSet.RequestStatus = "SuccessFul";
    
         return objResultSet;
    }
    

    Old Method

    public string getData()
    {
         ResultSet objResultSet = new ResultSet(); 
    
         objResultSet.RowsInserted = result;
         objResultSet.RequestStatus = "SuccessFul";
    
         return JsonConvert.SerializeObject(objResultSet);
    }