Извлечение ключа строки JSON в PHP

Я работаю над проектом, в котором я анализирую некоторые данные из внешнего интерфейса в внутренний API, который находится в форме строки JSON. Я хочу преобразовать строку JSON в массив объектов PHP, а затем извлечь ключ

Пример строки JSON, которую я получаю

$jsonString = "{"25100978569":null}"

Моя PHP-логика

$array = json_decode($jsonString, true);

удалите true, чтобы получить результат в форме объекта, не так ли?

devpro 04.07.2019 14:29

@devpro Я хочу получить ключ строки JSON, которая всегда является динамической.

Martin 04.07.2019 14:29
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
51
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете использовать array_keys, чтобы получить ключ массива.

    <?php

$jsonString = '{"25100978569":null}';


$array = json_decode($jsonString, true);

$key = array_keys($array);


echo implode(',', $key);
?>

Я получил это значение "["25100978569"]" Я хочу удалить внешний массив, чтобы осталась только строка "25100978569"

Martin 04.07.2019 14:37

Вы можете использовать implode массива, чтобы получить ключ в строке. Я обновляю код Пожалуйста, проверьте.

Shivendra Singh 04.07.2019 14:39
Ответ принят как подходящий

Вы можете получить первый ключ следующим образом:

<?php

$jsonString = "{\"25100978569\":null}";

$array = json_decode($jsonString, true);

reset($array);
$first_key = key($array);

echo $first_key;

Если вы используете php 7.3 или выше, вы можете использовать функцию array_key_first()

Другие вопросы по теме