Reputation: 149
I have this format of JSON data.
{"count": 3, "records": [
{"common":{"review_date": "2016-02-07 07:00:00","severityid": {"value": "2", "description": "Medium"}}},
{"common":{"review_date": "2016-02-07 08:00:00","severityid": {"value": "2", "description": "Serious"}}},
{"common":{"review_date": "2016-02-07 08:00:00","severityid": {"value": "2", "description": "Minor"}}}
]}
I want to see this in order of Serious,Medium and then minor.
{"count": 3, "records": [
{"common":{"review_date": "2016-02-07 08:00:00","severityid": {"value": "2", "description": "Serious"}}},
{"common":{"review_date": "2016-02-07 07:00:00","severityid": {"value": "2", "description": "Medium"}}},
{"common":{"review_date": "2016-02-07 08:00:00","severityid": {"value": "2", "description": "Minor"}}}
]}
Upvotes: 0
Views: 49
Reputation: 386530
You can use a helper object for the wanted order.
{
Serious: 1,
Medium: 2,
Minor: 3
}
var data = { "count": 3, "records": [{ "common": { "review_date": "2016-02-07 07:00:00", "severityid": { "value": "2", "description": "Medium" } } }, { "common": { "review_date": "2016-02-07 08:00:00", "severityid": { "value": "2", "description": "Serious" } } }, { "common": { "review_date": "2016-02-07 08:00:00", "severityid": { "value": "2", "description": "Minor" } } }] };
data.records.sort(function (a, b) {
var order = { Serious: 1, Medium: 2, Minor: 3 };
return order[a.common.severityid.description] - order[b.common.severityid.description];
});
document.write('<pre>' + JSON.stringify(data, 0, 4) + '</pre>');
Upvotes: 1