Skip to main content

Camel Case

Text Processing String Manipulation

Synopsis

Converts strings to camelCase format.

Schema

- camelcase:
field: <ident>
target_field: <ident>
fields: <array>
exclude: <array>
description: <text>
if: <script>
ignore_failure: <boolean>
ignore_missing: <boolean>
on_failure: <processor[]>
on_success: <processor[]>
tag: <string>

Configuration

The following fields are used to define the processor:

FieldRequiredDefaultDescription
fieldN-Selects value mode: converts the value of this field to camelCase. The value must be a string or an array of strings. Mutually exclusive with fields — when field is set, fields and exclude are ignored
target_fieldNSame as fieldWhere the converted value is written in value mode. Ignored in name mode
fieldsN["*"]Selects name mode: glob patterns matching field names to rename to camelCase. The values are left untouched. a.* renames the keys inside object a, *.* those of every root object. Omitting both field and fields renames every root-level field name; names beginning with _ are never renamed
excludeN-Field names to leave alone in name mode. Has no effect in value mode
descriptionN-Explanatory note
ifN-Condition to run
ignore_failureNfalseContinue processing if conversion fails
ignore_missingNfalseSkip processing if referenced field doesn't exist
on_failureN-See Handling Failures
on_successN-See Handling Success
tagN-Identifier
disabledNfalseWhen true, the processor is skipped and the event continues to the next one. Lets you take a processor out of the path without removing its configuration

Details

Converts string values to camelCase format by removing spaces, hyphens, underscores, and other separators, then capitalizing the first letter of each word except the first. The processor handles various input formats including snake_case, kebab-case, space-separated words, and mixed formats.

The processor can work on individual fields using the field parameter or multiple fields using the fields array. When processing multiple fields, the exclude parameter allows you to skip specific fields.

note

camelCase format capitalizes the first letter of each word except the first word, resulting in format like "firstName", "userAccountName", or "dataProcessingComplete". The first letter of the entire string remains lowercase.

The conversion handles Unicode characters properly and preserves non-alphabetic characters in their appropriate positions within the camelCase result.

warning

If the field contains non-string values, the processor will attempt to convert them to strings before applying camelCase conversion. Complex objects or arrays may produce unexpected results.

Examples

Basic Field Conversion

Converting a field to camelCase format...

{
"user_name": "john_doe_admin"
}
- camelcase:
field: user_name
target_field: camel_name

converts to camelCase:

{
"user_name": "john_doe_admin",
"camel_name": "johnDoeAdmin"
}

Space-Separated Words

Converting space-separated words to camelCase...

{
"event_type": "user login successful"
}
- camelcase:
field: event_type

transforms spaces to camelCase:

{
"event_type": "userLoginSuccessful"
}

Multiple Fields

Renaming field names, leaving values untouched...

{
"first_name": "john_smith",
"last_name": "doe_williams",
"email_address": "john.doe@example.com",
"phone_number": "555-123-4567"
}
- camelcase:
fields: ["first_name", "last_name", "email_address"]
exclude: ["phone_number"]

renames only the matched names; phone_number is excluded and its value is unchanged throughout:

{
"firstName": "john_smith",
"lastName": "doe_williams",
"emailAddress": "john.doe@example.com",
"phone_number": "555-123-4567"
}

Mixed Format Input

Handling mixed separators and formats...

{
"mixed_string": "user-account_name with spaces"
}
- camelcase:
field: mixed_string
target_field: camel_string

normalizes all separators:

{
"mixed_string": "user-account_name with spaces",
"camel_string": "userAccountNameWithSpaces"
}

Conditional Processing

Converting to camelCase based on conditions...

{
"field_name": "api_response_data",
"format_style": "camel"
}
- camelcase:
field: field_name
if: "format_style == 'camel'"

applies conversion when condition matches:

{
"field_name": "apiResponseData",
"format_style": "camel"
}