> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://ocient.ferndocs.com/guides/load-data/data-formats-for-data-pipelines/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://ocient.ferndocs.com/_mcp/server. # Data Formats for Data Pipelines > Ocient's Data Pipeline functionality optimizes data loading from various formats like JSON and DELIMITED, ensuring strict data interpretation for performance. Learn about transforming data using field selectors and handling NULL values. Loading in Ocient® differs in subtle ways that depend on the data format of the source. Loading runs with a strict interpretation of source data to allow pipelines to achieve maximum performance. For text-based formats like `JSON` and `DELIMITED`, the Ocient System performs no preemptive casting on the data when using a source field selector. For example, with the JSON string `{ "my_field": 1234 }`, the selector `$my_field` returns the string `"1234"` not the integer `1234`. When you use transformation functions, keep in mind that the Ocient System treats all data in the `JSON` and `DELIMITED` formats as text data. While the Ocient System sends data you select to a final target column, the system automatically casts the data in the final step to ensure that the data is compatible with the target column type. See [**Data Types for Data Pipelines**](/guides/load-data/data-types-for-data-pipelines) for supported automatic conversion rules. Format-specific differences also appear in the pipelines. ## Load ASN.1 Data You can load data in ASN.1 (Abstract Syntax Notation One) format from binary-encoded ASN.1 files using DER-encoded or BER-encoded files. ASN.1 provides a flexible, schema-driven format commonly used in telecommunications, security, and standardized protocols. This format allows you to extract structured records and map them to relational tables using SQL. The Ocient System requires `.ber` and `.der` files to contain one or more concatenated DER-encoded or BER-encoded values with the specified record type. The system decodes each record independently and maps it into a record. ### ASN.1 Type Mapping The system automatically converts all decoded ASN.1 fields to their JSON-equivalent representations. > **Note** > > The ASN.1 schema must consistently use implicit or explicit tagging. You must specify clear tagging so the system can resolve field names during extraction.
| ASN.1 Type | JSON Mapping | Description |
|---|---|---|
| `INTEGER` | Number | The number, specified as an integer. \ \ Example: `5` |
| `BOOLEAN` | Boolean | The logical value, specified as a Boolean. \ \ Example: `true` |
| `VisibleString` | String | The ASN.1 type assumes UTF-8 encoding. \ \ Example: `"Data Analyst"` |
| `IA5String` | String | The International Alphabet number 5 (IA5) includes most of the ASCII alphabet but can contain other characters. \ \ Example: `"ABCD"` |
| `UTF8String` | String | The ASN.1 type assumes UTF-8 encoding. \ \ Example: `"abcd"` |
| `OCTET STRING` | Hexadecimal string | The hexadecimal string has the prefix `0x` . \ \ Example: `"0x4fa2"` |
| `BIT STRING` | Hexadecimal string | The hexadecimal string with preserved bit alignment has the prefix `0x` . \ \ Example: `"011110"` |
| `OBJECT IDENTIFIER` | String | The unique identifier for an object using dotted representation. \ \ Example: `"1.2.840.113549"` |
| `ENUMERATED` | Number or symbolic string | The enumerated string, if the data resolves into a list of named items. \ \ Example: `"red"` |
| `ANY` | Hexadecimal string | The hexadecimal string with raw encoded bytes of the embedded value. \ \ Example: `"0x616263"` |
| `SEQUENCE` , `SET` | JSON object | Object with fields that are accessible by their component names. Example: ```asn1 WeatherRecord ::= SEQUENCE \{ temperature INTEGER, humidity INTEGER, cloudy BOOLEAN \} ``` |
| `SEQUENCE OF` , `SET OF` | JSON array | Array of objects where the elements are fully decoded. Example: ```asn1 WeatherEvents ::= SEQUENCE OF WeatherRecord ``` |
| `CHOICE` | JSON object | An object with fields of any type. Identify the active alternative by the key. Example: ```asn1 WeatherReport ::= CHOICE \{ sunny SEQUENCE \{ uv_index INTEGER \}, rainy SEQUENCE \{ precipitation INTEGER \} \} ``` |
| `DATE` | String | Date in the format `"yyyyMMdd"` . You must explicitly declare the date, or the system must infer it using tagging. \ \ Example: `"20240518"` |
| `TIME` | String | Time in the format `"HHmmss"` . \ \ Example: `"113056"` |
| `DATE-TIME` | String | Date and time in the format `"yyMMddHHmmss'Z'"` . This format supports only UTC. You must include `'Z'` as a literal. \ \ Example: `"250920101508'Z'"` |
| Selector | Description | Examples |
|---|---|---|
|
`$"[ |
**Extract Bytes**
— Extracts the bytes beginning at the
` |
``` abc123.45xyz ``` `$"[4,6]" -> "123.45"` This example illustrates the operation using ascii characters, but the Binary Selector returns BINARY data, byte arrays, that may be used in special ways by fixed width processing functions described in \[**Binary Data Transformations**]\(Transform Data in Data Pipelines). |