2014-11-29 6 views
0

У меня есть следующий формат JSONFetching ошибка данных из формата JSON

Array (
    [version] => 3 
    [status] => ok 
    [response] => Array (
     [data] => Array (
      [0] => Array (
       [accessible_wheelchair] => 1 
       [address] => 200 5th Ave 
       [category_labels] => Array (
        [0] => Array (
         [0] => Social 
         [1] => Food and Dining 
         [2] => Restaurants 
         [3] => Italian 
        ) 
        [1] => Array (
         [0] => Social 
         [1] => Food and Dining 
         [2] => Restaurants 
         [3] => Steakhouses 
        ) 
        [2] => Array (
         [0] => Social 
         [1] => Entertainment 
         [2] => Music and Show Venues 
        ) 
       ) 
       [country] => us 
      ) 
     ) 
     [included_rows] => 20 
    ) 
) 

Я хочу, чтобы извлечь данные из данных -> [0] массив. я использовал следующий код для вставки данных в базу данных

$newurl="/*the api link is here*/"; 
$json = file_get_contents($newurl); 
$data = json_decode($json,true); 
foreach($data as $value){ 
     $value1=$value;//$value 
     foreach($value as $newValue){ 
       foreach($newValue as $newValue1){ 
        $name=$newValue1["name"]; 
        $sql="insert into restaurant (name) values(".$name.");"; 
        db_query($sql) or die("insert error"); 
       } 
     } 
    } 

Но она не может быть в состоянии вставить data.Please, есть ли другой метод для извлечения моего необходимых данные и хранить в базе данных.

+0

Вы должны показать любые сообщения (отладки или ошибки), которые вы получаете. Здесь существует много вероятностей. – SaidbakR

+0

Вы используете Drupal ?! Я думаю, что нет никакой нативной функции в PHP, называемой db_query! Какие функции базы данных вы используете? – SaidbakR

+0

вы можете сделать это xml, а затем разобрать xml, вот здесь print_r ($ json), поэтому я получаю то, что у вас есть, в массив taht, и я попробую код для вас. Для вашего отладки doa echo $ name и посмотрите, $ name имеет ожидаемое значение, прежде чем вставлять его в базу данных. –

ответ

0

где ресторан название?

<?php 
$newurl="/*the api link is here*/"; 
$json = file_get_contents($newurl); 
if ($json)   
{    
    if (!($response = json_decode(stripslashes($json), TRUE)))    
    {     
     die("invalid json format");  
    }   
} 

if (!empty($response['status']) && $response['status'] == "ok") 
{ 
    $data = $response['response']['data']; 

    for ($i=0; $i < count($data); $i++) 
    { 
     // in this step data 0 wich you want to extract 
     /* 
     [accessible_wheelchair] => 1 
       [address] => 200 5th Ave 
       [category_labels] => Array (
        [0] => Array (
         [0] => Social 
         [1] => Food and Dining 
         [2] => Restaurants 
         [3] => Italian 
        ) 
        [1] => Array (
         [0] => Social 
         [1] => Food and Dining 
         [2] => Restaurants 
         [3] => Steakhouses 
        ) 
        [2] => Array (
         [0] => Social 
         [1] => Entertainment 
         [2] => Music and Show Venues 
        ) 
       ) 
     */ 
    // but what i confused here is restaurant name? i don't see restaurant name here.. 
    } 
} 
Смежные вопросы