Resolved! Disable Alphabetical Sorting of JSON Attributes in Response from C sharp Service

JSON response received on the client side is generally in alphabetical order. This happens when we don’t add any sort order on our server-side API layers. In one of my project, there was a situation in which I wanted to add columns in Excel file from JSON response, as JSON attributes( In my case colum…

By.

min read

JSON response received on the client side is generally in alphabetical order. This happens when we don’t add any sort order on our server-side API layers. In one of my project, there was a situation in which I wanted to add columns in Excel file from JSON response, as JSON attributes( In my case colum headers ) arranged in alphabetical, but I wanted them to be in some required order. I tried to do this client side in JS but it costs a lot! in term of page loading performance when data is large. As my services were in ASP.NET using C sharp so after some research, I tried something which worked like charm.


In the file, Sample_Def.cs added Order attribute in DataMember

Code Before change

    [Serializable, DataContract]
    public class BE_ServeSamlple
    {
        [DataMember]
        public Int32 EmpCode { get; set; }
        [DataMember]
        public String EmpName { get; set; }
        [DataMember]
        public String Division { get; set; }
        [DataMember]
        public String Department { get; set; }
        [DataMember]
        public String SkillType { get; set; }
       [DataMember]
        public String Designation { get; set; }

    }

 

Code After change

    [Serializable, DataContract]
    public class BE_ServeSamlple
    {
        [DataMember(Order=0)]
        public Int32 EmpCode { get; set; }
        [DataMember(Order = 1)]
        public String EmpName { get; set; }
        [DataMember(Order = 2)]
        public String Division { get; set; }
        [DataMember(Order = 3)]
        public String Department { get; set; }
        [DataMember(Order = 4)]
        public String SkillType { get; set; }
       [DataMember(Order = 5)]
        public String Designation { get; set; }

    }

 

Order should start with Order zero. After changes make sure to rebuild project to reflect changes.

This is just a quick help short tutorial. I hope this will be helpful 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *