Категории

Найти ключ

Находит первый подходящий ключ с lodash _.findKey

Находит первый ключ, значение которого соответствует предикату.

Особенности:

  • Использует lodash _.findKey
  • Поддерживает предикаты property, matchesProperty или matches объекта
  • Возвращает первый ключ или null

Пример:

  • Объект: {"a":{"active":false},"b":{"active":true}}
  • Тип предиката: Property
  • Имя свойства: active
  • Результат: "b"

Введите JSON объект

Имя truthy свойства для predicat property

Путь свойства для matchesProperty

JSON значение для совпадения

JSON объект для совпадения

Ключевые факты

Категория
Data Processing
Типы входных данных
textarea, select, text
Тип результата
text
Покрытие примерами
4
API доступен
Yes

Обзор

Инструмент 'Найти ключ' использует библиотеку lodash для быстрого поиска первого ключа в JSON-объекте, значение которого соответствует заданному предикату. Это упрощает извлечение данных из сложных структур без написания кода.

Когда использовать

  • Когда нужно найти ключ в объекте по значению определенного свойства.
  • При работе с JSON-данными для извлечения первого соответствующего ключа на основе предиката.
  • Для автоматизации поиска в объектах с использованием гибких условий совпадения.

Как это работает

  • Введите JSON-объект в поле 'Объект' для анализа.
  • Выберите тип предиката: свойство, совпадение свойства или совпадение объекта.
  • Настройте параметры предиката, такие как имя свойства или значение для совпадения.
  • Инструмент вернет первый ключ, удовлетворяющий условию, или null, если совпадений нет.

Сценарии использования

Поиск активного пользователя в объекте с данными сессий, где ключ содержит информацию о статусе.
Извлечение ключа конфигурации из JSON-ответа API по определенному параметру, например, версии или режиму.
Автоматическая обработка объектов с товарами для нахождения ключа товара с заданной ценой или свойством.

Примеры

1. Найти активную сессию

Разработчик
Контекст
Есть объект с данными о сессиях пользователей в формате JSON, где каждая сессия имеет свойство 'active'.
Проблема
Нужно быстро определить ключ сессии, в которой пользователь активен, без перебора всех ключей вручную.
Как использовать
Вставьте объект в поле 'Объект', выберите тип предиката 'Свойство', в поле 'Имя свойства' введите 'active'.
Пример конфигурации
{"predicateType": "property", "predicateProperty": "active"}
Результат
Инструмент вернет ключ, например, 'session_456', где active: true, позволяя сразу получить доступ к активной сессии.

2. Поиск товара по цене

Контекст
Объект содержит информацию о товарах интернет-магазина, где каждый товар имеет свойство 'price'.
Проблема
Необходимо найти ключ товара с ценой равной 1500 для обновления или анализа.
Как использовать
Введите объект с товарами, выберите тип предиката 'Совпадение свойства', укажите путь 'price' и значение '1500'.
Пример конфигурации
{"predicateType": "matchesProperty", "matchPath": "price", "matchValue": "1500"}
Результат
Возвращает ключ товара, например, 'product_789', у которого цена точно равна 1500, ускоряя работу с данными.

3. Совпадение конфигурации

Контекст
JSON-объект с настройками приложения, где различные ключи представляют разные конфигурации.
Проблема
Нужно найти ключ конфигурации, которая полностью соответствует заданному набору параметров для переключения режима.
Как использовать
Загрузите объект настроек, выберите тип предиката 'Совпадение объекта', в поле 'Объект совпадения' введите JSON с требуемыми параметрами.
Результат
Инструмент найдет ключ, например, 'config_dark_mode', где объект полностью совпадает с введенным, обеспечивая точный поиск.

Проверить на примерах

json

Связанные хабы

FAQ

Какие типы предикатов поддерживаются?

Поддерживаются три типа: свойство (property), совпадение свойства (matchesProperty) и совпадение объекта (matchesObject).

Что возвращает инструмент, если ключ не найден?

Возвращает null, если ни один ключ не соответствует предикату.

Можно ли использовать вложенные объекты?

Да, инструмент работает с любыми JSON-объектами, включая вложенные структуры.

Нужно ли устанавливать библиотеку lodash?

Нет, инструмент использует lodash внутренне, дополнительная установка не требуется.

Как задать предикат для matchesProperty?

Укажите путь свойства в поле 'Путь совпадения' и значение в поле 'Значение совпадения'.

Документация API

Конечная точка запроса

POST /ru/api/tools/find-key

Параметры запроса

Имя параметра Тип Обязательно Описание
objectInput textarea Да Введите JSON объект
predicateType select Нет -
predicateProperty text Нет Имя truthy свойства для predicat property
matchPath text Нет Путь свойства для matchesProperty
matchValue textarea Нет JSON значение для совпадения
matchObject textarea Нет JSON объект для совпадения

Формат ответа

{
  "result": "Processed text content",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}
Текст: Текст

Документация MCP

Добавьте этот инструмент к конфигурации сервера MCP:

{
  "mcpServers": {
    "elysiatools-find-key": {
      "name": "find-key",
      "description": "Находит первый подходящий ключ с lodash _.findKey",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=find-key",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Вы можете объединять несколько инструментов, например: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, максимум 20 инструментов.

Если вы столкнулись с проблемами, пожалуйста, свяжитесь с нами по адресу [email protected]