Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). UI Patterns (SDC in Drupal UI) 2.0.18 Minor update available for module ui_patterns (2.0.18). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

This module adds a field type for storing JSON data that allows you to easily extract and display specific pieces of information using a dot-notation path. It's useful for handling structured data from APIs or complex configurations.

The JSON Field Query & Formatter module provides a field type for storing JSON data with advanced querying capabilities. Unlike basic JSON field modules that only validate and store JSON, this module allows you to extract and display specific parts of JSON data using dot notation queries, making it ideal for working with API responses, complex configurations, and structured data.
It supports :

  • Dot Notation Queries: Extract specific values using paths like user.profile.name or products.0.price
  • Array Support: Access array elements with indices like items.2.name
  • Json Validation

Requirements

  • Drupal 10.x or 11.x
  • PHP 8.1 or higher

Installation

  • Install and enable the module.
  • Go to Structure » Content types » [Your content type] » Fields , and Add Field
  • Select JSON Field Query field type
  • Similarly this field can be added to any other entities as well like taxonomy etc.

Usage:
Add JSON data to your field:
{
"user": {
"personal": {
"firstName": "John",
"lastName": "Doe"
},
"contact": {
"email": "[email protected]"
}
}
}
Now in code these nested values can be accessed easily.
$service = \Drupal::service('json_field_query.json_query_service');
$json_data = $node->get('field_json_data')->value;
$value = $service->queryJson($json_data, 'user.personal.firstName'); // Will display John

Activity

Total releases
1
First release
Oct 2025
Latest release
9 months ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Slowing

Releases

Version Type Release date
2.0.1 Stable Oct 15, 2025