json-api

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
granpa1988
Δημοσιεύσεις: 6
Εγγραφή: 16 Ιούλ 2012 17:33

json-api

Δημοσίευση από granpa1988 » 01 Αύγ 2012 20:34

Καλησπέρα,
Προσπαθώ να τραβήξω συγκεκριμένα στοιχεία από τα apis του diavgeia..Έχω την παρακάτω συνάρτηση η οποία μου επιστρέφει μια συγκεκριμένει απόφαση σε μορφή json..

Κώδικας: Επιλογή όλων

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<?php 
$ada = '45ΨΡΗ-ΙΥ7'; // Αριθμός Διαδικτυακής Ανάρτησης &#40;ΑΔΑ&#41;.  // Επιστρέφει πληροφορίες για την απόφαση με το συγκεκριμένο Αριθμό Διαδικτυακής Ανάρτησης &#40;ΑΔΑ&#41;. 
$url =  'http&#58;//opendata.diavgeia.gov.gr/api/decisions?type=27&org=ypes&output=json';  // Tο urlencode αυτό που κάνει είναι να είσάγει ένα string σε ένα url δηλαδή εδώ εισάγει το ada στο url τοu api

function fails&#40;$url&#41;&#123; 
  $opts = array&#40;'http'=>array&#40;'method'=>"GET",'header'=>"Connection&#58;Keep-Alive\r\nAccept&#58;*/*\r\n" &#41;&#41;; 
  $context = stream_context_create&#40;$opts&#41;; 
  $xmlstr = file_get_contents&#40;$url,false,$context&#41;; /*returns the file in a string, starting at the specified offset up to maxlen bytes. On failure, file_get_contents&#40;&#41; will return FALSE.
  file_get_contents&#40;&#41; is the preferred way to read the contents of a file into a string.*/
  
  return $xmlstr; 

&#125;

echo fails&#40;$url&#41;,PHP_EOL,PHP_EOL; 
?> 
Αυτό που θέλω είναι να κανω αναζήτηση στο json αρχείο και να τραβάω συγκεκριμενο χαρακτηριστικο της απόφασης (π.χ. δαπανες)
Υπάρχει κάποιος που θα μπορούσε να με βοηθήσει???

Ευχαριστώ εκ των προτέρων

WSPNH
Δημοσιεύσεις: 97
Εγγραφή: 10 Μαρ 2006 12:52
Επικοινωνία:

json-api

Δημοσίευση από WSPNH » 16 Αύγ 2012 09:47

Δεν νομίζω να γίνετε αν δεν έχει επιλογές το Url (αν δεν το έχουν φτιάξει να έχει τέτοια επιλογή με παραμέτρους στο url)

Αυτό που μπορείς να κάνεις είναι ένα json_decode και να λάβεις τα δεδομένα σε object ή associative arrays και μετά θα είναι εύκολο με μια foreach (associative arrays) να πάρεις τα δεδομένα που θες.
http://xesemesa.gr ή http://arxwn.eu όπως και να έχει http://jbaron.gr

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

json-api

Δημοσίευση από gvre » 16 Αύγ 2012 10:20

Όπως είπε και ο WSPNH, χρειάζεται να κάνεις json_decode τα δεδομένα και στη συνέχεια να επιλέξεις ό,τι σε ενδιαφέρει. Για το ποσό δαπάνης για παράδειγμα θα μπορούσες να χρησιμοποιήσεις το παρακάτω.

Κώδικας: Επιλογή όλων

$decisions = json_decode&#40;fails&#40;$url&#41;&#41;;
if &#40;isset&#40;$decisions->model->decisions&#41;&#41;
&#123;
        foreach&#40;$decisions->model->decisions as $d&#41;
        &#123;
                echo $d->metadata->extraFields->extraField&#91;5&#93;->name . "&#58; " . $d->metadata->extraFields->extraField&#91;5&#93;->value . "\n";
        &#125;
&#125;
Θα σου πρότεινα να φτιάξεις μια συνάρτηση στην οποία θα περνάς ως ορίσματα το array και τα πεδία που θέλεις και εκείνη θα σου επιστρέφει τα ονόματα και τις τιμές (keys, values).

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες