2017-02-14 6 views
1

У меня есть небольшая проблема с моим json-файлом, что я пытаюсь сделать, это получить конкретный объект из моего json-файла, поэтому в этом json выше, когда я добавляю этот параметр stream_id = и, например, я добавляю этот id stream_id = 200 он должен показывать только объект с этим идентификатором, поэтому, чтобы быть более ясным, он должен показывать id: 200, имя: Ravi Tamada, email: [email protected] и т. д. и т. д. , с PHP, спасибоПолучить конкретный объект из определенного Id JSON

{ 
     "contacts": [ 
      { 
        "id": "200", 
        "name": "Ravi Tamada", 
        "email": "[email protected]", 
        "address": "xx-xx-xxxx,x - street, x - country", 
        "gender" : "male", 
        "url": "http://149.202.196.143:8000/live/djemal/djemal/592.ts" 
      }, 
      { 
        "id": "201", 
        "name": "Johnny Depp", 
        "email": "[email protected]", 
        "address": "xx-xx-xxxx,x - street, x - country", 
        "gender" : "male", 
        "url":"http://149.202.196.143:8000/live/djemal/djemal/592.ts" 
      }, 
      { 
        "id": "202", 
        "name": "Leonardo Dicaprio", 
        "email": "[email protected]", 
        "address": "xx-xx-xxxx,x - street, x - country", 
        "gender" : "male", 


    "url":"http://149.202.196.143:8000/live/djemal/djemal/592.ts" 
      } 
     ] 
    } 
+0

@yBrodsky вы можете объяснить мне с кодом, пожалуйста, это мой JSON так в PHP, как сделать это –

+0

Check [json_decode()] (http://php.net/manual/en/function.json -decode.php) –

ответ

2

Вы можете проходить через свой JSON и искать Идентификатор, в котором вы нуждаетесь. Просто как тот.

<?php 
$json = /* your json */; 
$array = json_decode($json, true); 

$result = getInfo(200, $array); 

function getInfo($id, $array) { 
    foreach($array AS $index=>$json) { 
     if($json['id'] == $id) { 
      return $json; 
     } 
    } 
} 
+0

да, но это только для id со значением 200, поэтому, если я изменю номер идентификатора в URL-адресе, чем он должен вернуть результат этого идентификатора, что, если i wright channel_id = 201 –

+0

Ну, это до вы можете изменить это значение, вы можете просто изменить 200 на '$ _GET ['channel_id']' – Nicolas

+0

, я изменил 200 на $ _GET ['channel_id'], и эта ошибка появилась. Ошибка анализа: синтаксическая ошибка, неожиданный «AS» (T_AS) , ожидая ';' в /srv/disk14/2280797/www/rido.sportsontheweb.net/webi/api.php в строке 61 –

0

Может быть, вы можете использовать json_decode с $ доц = истина (этот параметр преобразует JSON в массив, даже вложенных массивов), а затем цикл по массиву, чтобы найти нужный элемент.

+0

это должно зависеть от значения, которое написано в URL-адресе, например, на примере www.nice.com/api?channel_id=, оно должно показывать результат в зависимости от значения, которое я даю после = –

0

Вы можете пропустить JSON с помощью простой функции js/jquery, как показано ниже, где вы просто передаете указанный идентификатор.

function getJsonById(id){ 
var json = { 
     "contacts": [ 
      { 
        "id": "200", 
        "name": "Ravi Tamada", 
        "email": "[email protected]", 
        "address": "xx-xx-xxxx,x - street, x - country", 
        "gender" : "male", 
        "url": "http://149.202.196.143:8000/live/djemal/djemal/592.ts" 
      }, 
      { 
        "id": "201", 
        "name": "Johnny Depp", 
        "email": "[email protected]", 
        "address": "xx-xx-xxxx,x - street, x - country", 
        "gender" : "male", 
        "url":"http://149.202.196.143:8000/live/djemal/djemal/592.ts" 
      }, 
      { 
        "id": "202", 
        "name": "Leonardo Dicaprio", 
        "email": "[email protected]", 
        "address": "xx-xx-xxxx,x - street, x - country", 
        "gender" : "male", 


    "url":"http://149.202.196.143:8000/live/djemal/djemal/592.ts" 
      } 
     ] 
    }; 

var l= json['contacts'].length; 
var c = 0; 
while(c<l){ 
    if(json['contacts'][c]['id']==id){ 
    console.log(json['contacts'][c]); 
    return json['contacts'][c]; 
    } 
    c++; 
} 
} 
return ""; 
}); 
+0

и в php, как я могу это сделать что –

+0

Прошу прощения, я не читал часть PHP этого сообщения. Не знаю, синтаксис PHP от верхней части головы, но вы должны иметь возможность использовать ту же логику. Возможно, вы просто скопировали и ввели с сайта документации PHP. – Mark

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