I was looking for camelCase to Pascalcase. My object is camelCase and need to convert it to Pascalcase based on the C# class property name.
Here I have modified the method,
var toPascalCase = function (Object) {
var NewObject, origKey, newKey, value
if (Object instanceof Array) {
return Object.map(function (value) {
if (typeof value === "object") {
value = toPascalCase(value)
}
return value
})
} else {
NewObject = {}
for (origKey in Object) {
if (Object.hasOwnProperty(origKey)) {
newKey = (origKey.charAt(0).toUpperCase() + origKey.slice(1) || origKey).toString()
value = Object[origKey]
if (value instanceof Array || (value !== null && value.constructor === Object)) {
value = toPascalCase(value)
}
NewObject[newKey] = value
}
}
}
return NewObject
}
Get Output:
console.log(result);
result = toPascalCase(result);
console.log(result);
Here result is my object.
Before Conversion:
{
"id": 187,
"fromUserId": 1,
"fromUserFullName": "Super Admin",
"toUserId": 3,
"toUserFullName": "Super Admin",
"message": "Hello",
"isMessageFromUser": true,
"isRead": false,
"messageTime": "Thu Aug 03,2023,2:58 PM",
"fromUserOnlineStatus": "Online",
"toUserOnlineStatus": "Online",
"createdDate": "0001-01-01T00:00:00",
"modifiedDate": "0001-01-01T00:00:00",
"createdBy": null,
"modifiedBy": null,
"cancelled": false
}
After Conversion:
{
"Id": 187,
"FromUserId": 1,
"FromUserFullName": "Super Admin",
"ToUserId": 3,
"ToUserFullName": "Super Admin",
"Message": "Hello",
"IsMessageFromUser": true,
"IsRead": false,
"MessageTime": "Thu Aug 03,2023,2:58 PM",
"FromUserOnlineStatus": "Online",
"ToUserOnlineStatus": "Online",
"CreatedDate": "0001-01-01T00:00:00",
"ModifiedDate": "0001-01-01T00:00:00",
"CreatedBy": null,
"ModifiedBy": null,
"Cancelled": false
}