2016-07-19 5 views
-2

Я работаю с Laravel 5 прямо сейчас, и у меня есть следующая проблема. Я получил ответ от DB запроса:Как вывести значение int из объекта JSON?

[{"id":1}]

, и я хочу, чтобы вынуть 1 как межд или строки. Есть идеи?

Я попытался решить это, как следует:

$json = (DB query);  
$data = json_decode($json);  
$final = $data[0]->id; 

и ответ:

json_decode() ожидает параметр 1, чтобы быть строка, массив данный

+3

Вы пытались декодировать его с помощью 'json_decode'? –

+1

Вы вообще что-то пробовали? (Поиск Google, например, xD) – FirstOne

+0

да, я немного искал Google, но я не понимаю каких-либо примеров, поэтому я спрашиваю здесь – xsalok

ответ

0

Try это

$json_array = '[{"id":1}]'; 
$data = json_decode($json_array); 
print_r($data); // To display the result array 
1

Как вы говорите, строка, которую вы используете, находится в формате JSON, поэтому вам нужно использовать json_decode для доступа к ней на PHP.

Квадратные скобки относятся к массиву, а фигурные скобки относятся к объекту внутри этого массива, поэтому то, что вы ищете, - это значение id значения первого элемента (то есть элемента 0) в массиве.

<?php 
$json = '[{"id":1}]'; 
$data = json_decode($json); 

echo $data[0]->id; 
// 1 
1

Это все, что вам нужно.

$response = json_decode($response); // Decode the JSON 
$string = $response[0]->id;   // Save the value of id var 
+0

Outer array был удален –

+2

К сожалению, это не значит, что мы 'json_decode' в наших головах редактируем. –

0

Вам просто нужно его расшифровать, если я не ошибаюсь в ваших вопросах.

$json = '[{"id":1}]'; 
$decodedObject = json_decode($json); 

Затем вы можете цикл через Арай и сделать что-то с вашими данными:

foreach($decodedObject as $key => $value) { 
    $id = $value->id; 
} 

Если вы используете Laravel, хотя, почему бы не использовать красноречивые модели?

+0

Я свежий с laravel, не могли бы вы рассказать мне, как использовать модель Eloquent для этого? – xsalok

+0

Я надеялся, что вы спросите! Каков ваш запрос? Покажите мне ваш запрос, и я покажу вам, как это сделать с помощью модели Eloquent. –

Смежные вопросы