Преобразование массива PHP var_dump в JSON

искал решение. Не смог найти ни одного, поэтому мое последнее средство, конечно, здесь.

Я использую API от MessageBird. Цель кода — выложить список сообщений.

Мой код:

require_once(__DIR__ . '/messagebird/vendor/autoload.php');
$MessageBird = new \MessageBird\Client('XXXXX'); // Set your own API access key here.
try {
$MessageList = $MessageBird->messages->getList(array ('offset' => 0, 'limit' => 30));
//var_dump($MessageList);

} catch (\MessageBird\Exceptions\AuthenticateException $e) {
// That means that your accessKey is unknown
echo 'wrong login';
} catch (\Exception $e) {
var_dump($e->getMessage());
}

$json = json_decode($MessageList, true);

foreach($json as $item) {
echo $item['body'];
}

Это данные «var_dump» выходов:

object(MessageBird\Objects\BaseList)#147 (6) {
["limit"]=>
int(30)
["offset"]=>
int(0)
["count"]=>
int(24)
["totalCount"]=>
int(24)
["links"]=>
object(stdClass)#48 (4) {
["first"]=>
string(56) "https://rest.messagebird.com/messages/?offset=0&limit=30"["previous"]=>
NULL
["next"]=>
NULL
["last"]=>
string(56) "https://rest.messagebird.com/messages/?offset=0&limit=30"}
["items"]=>
array(24) {
[0]=>
object(MessageBird\Objects\Message)#148 (16) {
["id":protected]=>
string(32) "XXX"["href":protected]=>
string(70)
"https://rest.messagebird.com/messages/XXX"["direction"]=>
string(2) "mt"["type"]=>
string(3) "sms"["originator"]=>
string(5) "Test Sender"["body"]=>
string(416) "Hey Blah Blah Test Message."["reference"]=>

Я не уверен, что мне удастся преобразовать данные в JSON, чтобы я мог использовать код foreach для разделения записей.

0

Решение

Я не уверен, что мне удастся преобразовать данные в JSON, чтобы я мог использовать код foreach для разделения записей.

Я думаю, что здесь есть довольно серьезное недоразумение. Если хотите foreach по некоторым данным, вам не нужно var_dump или же JSON, не говоря уже о обоих — вам просто нужны данные.

var_dump это функция для отображение структур для программиста во время отладки; это не предназначено, чтобы быть обратимым, или когда-либо использоваться в производственном коде.

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

То, что вы хотите, это:

try
{
$MessageList = $MessageBird->messages->getList(array ('offset' => 0, 'limit' => 30));
foreach($MessageList->items as $item) {
echo $item->body;
}
}
// Your exception handling here - note that you can't do anything with `$MessageList` if an exception happened; it won't exist.
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]