Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Errore lettura file json

    Buongiorno a tutti,
    ho un file jsno con diverse righe fatte cos�:

    codice:
    {
        "id": "4",
        "full_name": "Pinco Pallo",
        "first_name": "pinco",
        "middle_initial": null,
        "middle_name": null,
        "last_name": "Pallo",
        "gender": null,
        "birth_year": null,
        "birth_date": null,
        "linkedin_url": "linkedin.com/in/Pallo",
        "linkedin_username": "Pinco-Pallo-6137b646",
        "linkedin_id": "13333333",
        "facebook_url": null,
        "facebook_username": null,
        "facebook_id": null,
        "twitter_url": null,
        "twitter_username": null,
        "github_url": null,
        "github_username": null,
        "work_email": null,
        "mobile_phone": null,
        "industry": "media production",
        "job_title": "communication officer",
        "job_title_role": null,
        "job_title_sub_role": null,
        "job_title_levels": [],
        "job_company_id": null,
        "job_company_name": "plan international ITALIA",
        "job_company_website": null,
        "job_company_size": null,
        "job_company_founded": null,
        "job_company_industry": null,
        "job_company_linkedin_url": null,
        "job_company_linkedin_id": null,
        "job_company_facebook_url": null,
        "job_company_twitter_url": null,
        "job_company_location_name": null,
        "job_company_location_locality": null,
        "job_company_location_metro": null,
        "job_company_location_region": null,
        "job_company_location_geo": null,
        "job_company_location_street_address": null,
        "job_company_location_address_line_2": null,
        "job_company_location_postal_code": null,
        "job_company_location_country": null,
        "job_company_location_continent": null,
        "job_last_updated": "2018-12-01",
        "job_start_date": "2010-09",
        "job_summary": null,
        "location_name": "Italia",
        "location_locality": null,
        "location_metro": null,
        "location_region": null,
        "location_country": "Italia",
        "location_continent": "Europa",
        "location_street_address": null,
        "location_address_line_2": null,
        "location_postal_code": null,
        "location_geo": null,
        "location_last_updated": "2018-12-01",
        "linkedin_connections": 10,
        "inferred_salary": null,
        "inferred_years_experience": 6,
        "summary": "Student at Department of Media and Communication",
        "phone_numbers": [],
        "emails": [{
            "address": "xxxx@yahoo.com",
            "type": "personal"
        }],
        "interests": [],
        "skills": [],
        "location_names": [],
        "regions": [],
        "countries": ["cambodia"],
        "street_addresses": [],
        "experience": [{
            "company": {
                "name": "plan international italy",
                "size": null,
                "id": null,
                "founded": null,
                "industry": null,
                "location": null,
                "linkedin_url": null,
                "linkedin_id": null,
                "facebook_url": null,
                "twitter_url": null,
                "website": null
            },
            "location_names": [],
            "end_date": null,
            "start_date": "2010-09",
            "title": {
                "name": "communication officer",
                "role": null,
                "sub_role": null,
                "levels": []
            },
            "is_primary": true,
            "summary": null
        }],
        "education": [{
            "school": null,
            "end_date": "2014",
            "start_date": "2010",
            "gpa": null,
            "degrees": ["bachelors", "bachelor of arts"],
            "majors": ["media management"],
            "minors": [],
            "summary": null
        }],
        "profiles": [{
            "network": "linkedin",
            "id": "13333333",
            "url": "linkedin.com/in/Pallo",
            "username": "Pinco-Pallo-6137b646"
        }],
        "certifications": [],
        "languages": [],
        "version_status": {
            "status": "updated",
            "contains": [],
            "previous_version": "12.0",
            "current_version": "13.0"
        }
    }
    ho scritto il seguente codice per fare in modo di leggere riga per riga e poi mettere i dati in delle variabili:

    codice:
    <html>
    <body>
    // Preparo un array vuoto
    $data = array();
    
    
    // Leggo il file in righe
    $lines = file("C:\Users\Ritel\Desktop\json\Linkedin.json");
    // Ciclo le righe
    foreach ($lines as $line) {
      // Leggo il JSON della riga
      $json = json_decode($line);
      // Se il JSON � valido...
      if ($json) {
        // Aggiungo il dato all'array
        $data[] = $json;
      }
    }
    
    
    echo "<table>";
    
    
    foreach ($data as $data){
        $id = $data->id;
        $first_name = $data->first_name;
        $last_name = $data->last_name;
        $full_name = $data->full_name;
        $full_name = $data->full_name;
        $middle_initial = $data->middle_initial;
        $middle_name = $data->middle_name;
        $gender = $data->gender;
        $birth_year = $data->birth_year; 
        $birth_date = $data->birth_date;
        $linkedin_url = $data->linkedin_url;
        $linkedin_username = $data->linkedin_username;
        $linkedin_id = $data->linkedin_id;
        $facebook_url = $data->facebook_url;
        $facebook_username = $data->facebook_username;
        $facebook_id = $data->facebook_id;
        $twitter_url = $data->twitter_url;
        $twitter_username = $data->twitter_username;
        $github_url = $data->github_url;
        $github_username = $data->github_username;
        $work_email = $data->work_email;
        $mobile_phone = $data->mobile_phone;
        $industry = $data->industry;
        $job_title = $data->job_title;
        $job_title_role = $data->job_title_role;
        $job_title_sub_role = $data->job_title_sub_role;
        $job_title_levels = $data->job_title_levels;
        $job_company_id = $data->job_company_id;
        $job_company_name = $data->job_company_name;
        $job_company_website = $data->job_company_website;
        $job_company_size = $data->job_company_size;
        $job_company_founded = $data->job_company_founded;
        $job_company_industry = $data->job_company_industry;
        $job_company_linkedin_url = $data->job_company_linkedin_url;
        $job_company_linkedin_id = $data->job_company_linkedin_id;
        $job_company_facebook_url = $data->job_company_facebook_url;
        $job_company_twitter_url = $data->job_company_twitter_url;
        $job_company_location_name = $data->job_company_location_name;
        $job_company_location_locality = $data->job_company_location_locality;
        $job_company_location_metro = $data->job_company_location_metro;
        $job_company_location_region = $data->job_company_location_region;
        $job_company_location_geo = $data->job_company_location_geo;
        $job_company_location_street_address = $data->job_company_location_street_address;
        $job_company_location_address_line_2 = $data->job_company_location_address_line_2;
        $job_company_location_postal_code = $data->job_company_location_postal_code;
        $job_company_location_country = $data->job_company_location_country;
        $job_company_location_continent = $data->job_company_location_continent;
        $job_last_updated = $data->job_last_updated;
        $job_start_date = $data->job_start_date;
        $job_summary = $data->job_summary;
        $location_name = $data->location_name;
        $location_locality = $data->location_locality;
        $location_metro = $data->location_metro;
        $location_region = $data->location_region;
        $location_country = $data->location_country;
        $location_continent = $data->location_continent;
        $location_street_address = $data->location_street_address;
        $location_address_line_2 = $data->location_address_line_2;
        $location_postal_code = $data->location_postal_code;
        $location_geo = $data->location_geo;
        $location_last_updated = $data->location_last_updated;
        $linkedin_connections = $data->linkedin_connections;
        $inferred_salary = $data->inferred_salary;
        $inferred_years_experience = $data->inferred_years_experience;
        $summary = $data->summary;
        $phone_numbers = $data->phone_numbers;
        $emails = $data->emails;
        $interests = $data->interests;
        $skills = $data->skills;
        $location_names = $data->location_names;
        $regions = $data->regions;
        $countries = $data->countries;
        $street_addresses = $data->street_addresses;
        $experience_company_size = $data->company_size;
        $experience_company_id = $data->company_id;
        $experience_company_founded = $data->company_founded;
        $experience_company_industry = $data->company_industry;
        $experience_company_location = $data->company_location;
        $experience_company_linkedin_url = $data->company_linkedin_url;
        $experience_company_linkedin_id = $data->company_linkedin_id;
        $experience_company_facebook_url = $data->company_facebook_url;
        $experience_company_twitter_url = $data->company_twitter_url;
        $experience_company_location_names = $data->company_location_names;
        $experience_company_end_date = $data->company_end_date;
        $experience_company_start_date = $data->company_start_date;
        $experience_company_title_name = $data->company_title_name;
        $experience_company_title_role = $data->company_title_role;
        $experience_company_title_sub_role = $data->company_title_sub_role;
        $experience_company_title_levels = $data->company_title_levels;
        $experience_company_is_primary = $data->company_is_primary;
        $experience_company_summary = $data->company_summary;
        $education_school = $data->school;
        $education_school_end_date = $data->school_end_date;
        $education_school_start_date = $data->school_start_date;
        $education_school_gpa = $data->school_gpa;
        $education_school_degrees = $data->school_degrees;
        $education_school_majors = $data->school_majors;
        $education_school_minors = $data->school_minors;
        $education_school_summary = $data->school_summary;
        $profiles_network = $data->network;
        $profiles_network_id = $data->id;
        $profiles_network_url = $data->url;
        $profiles_network_username = $data->username;
        $version_status_contains = $data->contains;
        $version_status_previous_version = $data->previous_version;
        $version_status_current_version = $data->current_version;
        echo "<tr>";
       echo "<td>$id</td>";
       echo "<td>$first_name</td>";          
       echo "<td>$last_name</td>";
       echo "<td>$full_name</td>";
       echo "</tr>";        
    }    
    echo "<table>";
    ?>
    </body>
    </html>
    Se lascio cos� il sistema mi restituisce il segente errore

    Warning: Undefined property: stdClass::$company_size in C:\xampp\htdocs\PHP7\prova.php on line 253

    Warning: Undefined property: stdClass::$company_id in C:\xampp\htdocs\PHP7\prova.php on line 254

    Warning: Undefined property: stdClass::$company_founded in C:\xampp\htdocs\PHP7\prova.php on line 255

    Warning: Undefined property: stdClass::$company_industry in C:\xampp\htdocs\PHP7\prova.php on line 256

    e poi mi stampa normalmente a tabella, in pratica la pagina va in errore quanto, nel file json, vi sono i dati all'interno delle { } prima della fine, quindi per quanto concerne:
    - experience
    - education
    - profiles
    - version_status

    Qualcuno sa aiutarmi?? Grazie

  2. #2
    Nessuno sa come posso fare???

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    A json_decode() devi passare il file json intero, tu gli stai passando delle stringhe, quindi una cosa così

    json_decode('{');
    json_decode('"id": "4",');
    json_decode('"full_name": "Pinco Pallo",');
    ...
    e così via, non tutte queste stringhe rappresentano un json valido

    Passa tutto il contenuto del file Linkedin.json a json_decode(), salva il risultato in una variabile (avrai un array o un oggetto a seconda se passi true o false come secondo parametro) e poi cicla su questa.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.