Как получить несколько массивов JSON с переполнением стека

Я знаю, это звучит так просто. просто используйте цикл foreach или json_decode, и вы можете получить данные JSON.

да, так было до тех пор, пока я не получил несколько массивов json при попытке получить данные изasticsearch.

я запутался, как получить это:

{
"took":3,
"status": "taken",
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},

"hits": {
"total":2,
"msg":"ilusm",
"hits":
[
{
//goes here
"id":1234
},

{
//goes here
"id":4321
}

]

},
"date-created": "2016-06-06"}

Я использую это, чтобы получить мои первые данные:

$result = json_decode(json_encode($product),true);
echo "total took:";
echo $result['took'];

echo "total shards:";
echo $result['_shards']['total'];

проблема в том, что я не могу получить данные внутри хитов.
Как я могу получить хиты ID: 1234?

echo"view all total hits :";
echo $result['hits']['total'];
echo"view all total msg:";
echo $result['hits']['msg'];

echo"view hist data :";
echo json_decode(json_encode($result['hits']['hits']), true);

я получил это ошибка :

Сообщение: преобразование массива в строку

пожалуйста, помогите мне исправить это.
Спасибо заранее.

-1

Решение

Попробуйте это, это работа для меня.

    $result= '{"took":3,"status": "taken","_shards": {"total": 5,"successful": 5,"failed": 0},"hits": {"total":2,"msg":"ilusm","hits":[{"id":1234},{"id":4321}]},"date-created": "2016-06-06"}';

$array= json_decode($result, true);

echo $array["hits"]["hits"][0]['id']; //output 1234

выход : 1234

2

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

$string = '{"took":3,"status": "taken","_shards": {"total": 5,"successful": 5,"failed": 0},"hits": {"total":2,"msg":"ilusm","hits":[{"id":1234},{"id":4321}]},"date-created": "2016-06-06"}';

$hits= json_decode($string, true);
$hits = $hits['hits']['hits'];
foreach($hits as $hitsIndex => $hitsValue){

if($hitsValue["id"] == '1234'){
var_dump($hitsValue["id"]);
}

}
0

Я думаю, что вы немного смущены JSON & управление данными php.

Должны ли вы сказать нам, что такое переменная $ product? (Строка, объект / массив).

Обычно вы получаете данные json в виде строки и анализируете их в переменные php с помощью json_decode.

Объявление Javascript-типа объекта $ product бесполезно.

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