Lanike71 Δημοσ. 28 Ιουνίου 2017 Δημοσ. 28 Ιουνίου 2017 Καλησπέρα, Προσπαθώ να κατεβάσω το κουπόνι από τον ΟΠΑΠ με json. Η διαδικασία γίνεται με java. Κατάφερα να αντλήσω κάποιες πληροφορίες σχετικά εδώ : http://x.22071.n7.nabble.com/json-td4630.html οι οποίες είναι λειψές. Δε με ενδιαφέρουν τα αποτελέσματα προς το παρόν, με ενδιαφέρουν μόνο οι αποδόσεις. Προσπαθώ να διαβάσω το json που δημιουργείται στη σελίδα https://jsonlint.com/ για να εξάγω χαρακτηριστικά και άλλες πληροφορίες, αλλά δε βγάζω άκρη. Μπορεί κάποιος να με κατατοπίσει σχετικά με τα marketIds αλλά και άλλες πληροφορίες; Επίσης περί Json : Υπάρχει τρόπος χωρίς να ξέρεις το σχήμα του, να εξάγεις τα χαρακτηριστικά του;
albNik Δημοσ. 28 Ιουνίου 2017 Δημοσ. 28 Ιουνίου 2017 Επίσης περί Json : Υπάρχει τρόπος χωρίς να ξέρεις το σχήμα του, να εξάγεις τα χαρακτηριστικά του; Κάνε paste τα json data από το παραδειγμα σου εδώ. http://www.jsonschema2pojo.org/
Lanike71 Δημοσ. 28 Ιουνίου 2017 Μέλος Δημοσ. 28 Ιουνίου 2017 Κάνε paste τα json data από το παραδειγμα σου εδώ. http://www.jsonschema2pojo.org/ AlbNik ευχαριστώ για το λινκ, αν κατάλαβα καλά, δίνεις το json και σου δίνει java class. Μου πετάει error για max χαρακτήρες (512.000).
albNik Δημοσ. 28 Ιουνίου 2017 Δημοσ. 28 Ιουνίου 2017 Βάλτο εδώ για C# http://json2csharp.com/ και κάνε μετατροπή την C# class σε Java
tsofras Δημοσ. 28 Ιουνίου 2017 Δημοσ. 28 Ιουνίου 2017 Καλησπέρα, Προσπαθώ να κατεβάσω το κουπόνι από τον ΟΠΑΠ με json. Η διαδικασία γίνεται με java. Κατάφερα να αντλήσω κάποιες πληροφορίες σχετικά εδώ : http://x.22071.n7.nabble.com/json-td4630.html οι οποίες είναι λειψές. Δε με ενδιαφέρουν τα αποτελέσματα προς το παρόν, με ενδιαφέρουν μόνο οι αποδόσεις. Προσπαθώ να διαβάσω το json που δημιουργείται στη σελίδα https://jsonlint.com/ για να εξάγω χαρακτηριστικά και άλλες πληροφορίες, αλλά δε βγάζω άκρη. Μπορεί κάποιος να με κατατοπίσει σχετικά με τα marketIds αλλά και άλλες πληροφορίες; Επίσης περί Json : Υπάρχει τρόπος χωρίς να ξέρεις το σχήμα του, να εξάγεις τα χαρακτηριστικά του; Αφού το κάνεις με java , γιατί μπλέκεις με json και μετατροπή σε κλάση και δεν φτιάχνεις κατευθείαν ένα ws-client με java να τα έχεις όλα έτοιμα? Το είχα κάνει πριν κανα χρόνο για χαβαλέ , αν είσαι εξοικειωμένος σε 10 λεπτά έχεις έτοιμο τον client.
Lanike71 Δημοσ. 28 Ιουνίου 2017 Μέλος Δημοσ. 28 Ιουνίου 2017 Αφού το κάνεις με java , γιατί μπλέκεις με json και μετατροπή σε κλάση και δεν φτιάχνεις κατευθείαν ένα ws-client με java να τα έχεις όλα έτοιμα? Το είχα κάνει πριν κανα χρόνο για χαβαλέ , αν είσαι εξοικειωμένος σε 10 λεπτά έχεις έτοιμο τον client. Όχι δεν είμαι εξοικειωμένος, αν θες δώσε κανένα λινκ για tutorial όμως, έχω διάθεση για διάβασμα. Ws εννοείς web services έτσι; Αν ναι, έχω λίγες μέρες που ξεκίνησα να διαβάζω ένα βιβλίο για Rest.
tsofras Δημοσ. 28 Ιουνίου 2017 Δημοσ. 28 Ιουνίου 2017 Όχι δεν είμαι εξοικειωμένος, αν θες δώσε κανένα λινκ για tutorial όμως, έχω διάθεση για διάβασμα. Ws εννοείς web services έτσι; Αν ναι, έχω λίγες μέρες που ξεκίνησα να διαβάζω ένα βιβλίο για Rest. Ναι μπορείς αρκετά εύκολα με ένα eclipse , αν και λίγο παλιός οδηγός πιστεύω θα είσαι οκ http://www.eclipse.org/webtools/community/education/web/t320/Generating_a_client_from_WSDL.pdf
Lanike71 Δημοσ. 29 Ιουνίου 2017 Μέλος Δημοσ. 29 Ιουνίου 2017 Ναι μπορείς αρκετά εύκολα με ένα eclipse , αν και λίγο παλιός οδηγός πιστεύω θα είσαι οκ http://www.eclipse.org/webtools/community/education/web/t320/Generating_a_client_from_WSDL.pdf Δοκίμασα τον οδηγό, έχω κάποια θέματα : Αν και εγκατέστησα τα απαραίτητα, δε μου εμφανίζει την επιλογή για New -> Web Service Client. Εκτός από αυτό, αν κοιτάξεις στη σελίδα του ΟΠΑΠ, δεν έχει web service για το Πάμε Στοίχημα (έτσι λέει τουλάχιστον) : http://www.opap.gr/el/web/guest/web-services
JAMES88 Δημοσ. 13 Σεπτεμβρίου 2017 Δημοσ. 13 Σεπτεμβρίου 2017 Αυτό μπορεί να είναι χρήσιμο json formatter
Lanike71 Δημοσ. 13 Σεπτεμβρίου 2017 Μέλος Δημοσ. 13 Σεπτεμβρίου 2017 Αυτό μπορεί να είναι χρήσιμο json formatter Σε ευχαριστώ που το ανέφερες, θα πόσταρα έτσι και αλλιώς. Το συγκεκριμένο δε με βόλεψε, αυτό με βόλεψε καλύτερα : https://jsonformatter.org/json-pretty-print Λοιπόν, δεν ξέρω αν εγώ δεν πιάνω κάτι ή ο ΟΠΑΠ κάνει κάτι στραβά. Δίνοντας εντολή για ένα τυχαίο json στον ΟΠΑΠ με αγώνες και αγορές κάποιες ημερομηνίες, βλέπω το εξής, πχ στο κάτω json : http://praktoreio.pamestoixima.gr/web/services/rs/iFlexBetting/retail/games/15104/0.json?shortTourn=true&startDrawNumber=731&endDrawNumber=731&sportId=s-441&marketIds=68&marketIds=0&&marketIds=19&marketIds=20&marketIds=21&marketIds=8&locale=gr&brandId=defaultBrand&channelId=0 Αν το κάνεις pretty στη σελίδα που έδωσα, στη γραμμή 364 περίπου ξεκινάνε τα resources, που είναι οι λεπτομέρειες του αγώνα, ομάδες, χώρα κλπ. Παρατηρώντας κάποιος, βλέπει ότι η αφηρημένη κλάση, είναι το ίδιο το αντικείμενο (αν δεν κάνω λάθος, γιατί δεν είμαι τόσο εξοικειωμένος με σύνταξη json). Πχ έχω τίτλο "tm-40896" που είναι κωδικός ομάδας, ενώ θα έπρεπε να είναι πχ "Ομάδα1". Αυτό επαναλαμβάνεται σε όλο το json. Αυτό μου το επιβεβαίωσαν και όλα τα εργαλεία για c++ και java που υπόδειξαν συμφορουμίτες, καθώς μου εμφάνιζαν καμιά 200 κλάσεις για ομάδες... Αν κάνω λάθος κάπου, ας υποδείξει κάποιος.
solarpower Δημοσ. 13 Σεπτεμβρίου 2017 Δημοσ. 13 Σεπτεμβρίου 2017 Βάλε το http://praktoreio.pamestoixima.gr/web/services/rs/iFlexBetting/retail/games/15104/0.json?shortTourn=true&startDrawNumber=731&endDrawNumber=731&sportId=s-441&marketIds=68&marketIds=0&&marketIds=19&marketIds=20&marketIds=21&marketIds=8&locale=gr&brandId=defaultBrand&channelId=0 σε Firefox και όταν στο ανοίξει ως json βάλε φίλτρο το tm-40896 Σου βγάζει κλειστό το 0 στοιχείο του πίνακα (το json που έδωσες είναι ένας πίνακας, ξεκινάει με [ και τελειώνει με ]), οπότε όταν το ανοίξεις θα σου δώσει lexicon: μέσα σε αυτό το resources: και σε αυτό το tm-40896_sh: και το tm-40896: ενώ ποιο κάτω στο επίπεδο που είναι το resources θα σου δώσει το ai: "tm-40896" που σηαίνει ότι το ai το οποίο βρίσκεται σε όλα τα αντικείμενα του αρχικού πίνακα, έχει το όνομα, εδώ το tm-40896 και βάσει αυτού πάει στο lexicon.recources.tm-40896 και παίρνει το όνομα "ΠΑΛΕΣΤΙΝΟ" Βάλε το "ΟΛ στο φίλτρο και θα δεις ότι σου βρίσκει άμεσα τα αντικείμενα που το περιέχουν και ονόματα όπως ΟΛΙΜΠΙΚ κ.α.
Lanike71 Δημοσ. 15 Σεπτεμβρίου 2017 Μέλος Δημοσ. 15 Σεπτεμβρίου 2017 Θα σου πω λίγο τι εννοώ παραπάνω: Βάζω το λινκ με το json στη σελίδα http://json2csharp.com/ που έδωσε ο albnik παραπάνω. Βλέπω λοιπόν διάφορες κλασεις και ξεκινώ: -Κλάση RootObject, που αν δεν κάνω λάθος είναι όλα τα objects με τη μορφή που εμφανίζονται στον ff, σύνολο 280 και περιέχει αντικείμενο τύπου Lexicon. -Κλάση Lexicon που περιέχει αντικείμενο τύπου Resources. -Κλάση Resources, που αντί να έχει αντικείμενα τύπου Game ας πούμε, έχει πεδία τύπου String και ο προσδιορισμός είναι το ίδιο το όνομα του αντικειμένου. Παράδειγμα, να έχεις μία κλάση Person και τα πεδία του αντί να είναι Name, Age κλπ, να είναι John,35 κλπ. Δες επίσης την κλάση Hpp που εμφανίζεται πάνω-πάνω και είναι σωστή. Αυτή η κλάση αποθηκεύει με κάποια κωδικοποίηση τα γκολ της γηπεδούχου σε ημίχρονο και τελικό αποτέλεσμα (αν θυμάμαι καλά, αν και δεν έχει σημασία σε αυτό που θα πω). Πολύ σωστά, βλέπεις πεδία με όνομα από 1-10. Αντικείμενα αυτής της κλάσης επαναλαμβάνονται 280 φορές, όσα και τα ματς. Κάτι που δε συμβαίνει με το Resources που εμφανίζει ως πεδία ΟΛΑ τα tm των ομάδων που συμμετέχουν στο κουπόνι.
solarpower Δημοσ. 16 Σεπτεμβρίου 2017 Δημοσ. 16 Σεπτεμβρίου 2017 Κοίτα το json δεν σημαίνει ότι "δείχνει" κλάσεις. Ότι θες βάζεις, ή σε διάταξη αριθμητική, οπότε είναι πίνακας, ή με ονόματα οπότε το λέει κλάση. Η κλάση δηλαδή που λες είναι απλά μια λίστα με ονόματα - τιμές. Εκεί δηλαδή που βάζεις το δείκτη για το πίνακα, βάζεις τη λέξη (ή αλφαριθμητικό). Κάποια στιγμή, πάμε σε άκρη, οπότε αυτή θα είναι null ή αριθμός ή αλφαριθμητικό. Δεν υπάρχει κάτι άλλο! Γενικά πρέπει να μπεις στο μυαλό του προγραμματιστή για να καταλάβεις τι έχει κάνει! Ή καλύτερα να δεις το κώδικα!
Lanike71 Δημοσ. 17 Σεπτεμβρίου 2017 Μέλος Δημοσ. 17 Σεπτεμβρίου 2017 Κοίτα το json δεν σημαίνει ότι "δείχνει" κλάσεις. Ότι θες βάζεις, ή σε διάταξη αριθμητική, οπότε είναι πίνακας, ή με ονόματα οπότε το λέει κλάση. Η κλάση δηλαδή που λες είναι απλά μια λίστα με ονόματα - τιμές. Εκεί δηλαδή που βάζεις το δείκτη για το πίνακα, βάζεις τη λέξη (ή αλφαριθμητικό). Κάποια στιγμή, πάμε σε άκρη, οπότε αυτή θα είναι null ή αριθμός ή αλφαριθμητικό. Δεν υπάρχει κάτι άλλο! Γενικά πρέπει να μπεις στο μυαλό του προγραμματιστή για να καταλάβεις τι έχει κάνει! Ή καλύτερα να δεις το κώδικα! Αυτό που θέλω να πω είναι ότι δε μπόρεσα να βρω μία λύση μέσα από την οπτική της αντικειμενοστρέφειας.
solarpower Δημοσ. 17 Σεπτεμβρίου 2017 Δημοσ. 17 Σεπτεμβρίου 2017 To json είναι μια δομή δεδομένων. Στη Java το βλέπουμε σαν αντικείμενο, και η προσπέλαση στη δομή γίνεται με ένα από τα δύο βασικά αντικείμενα: getJSONObject σε JsonObject ή getJSONArray σε JsonArray Μπορεί η δομή να ξεκινάει με αντικείμενο ή με πίνακα. Αυτό το αντικείμενο ΔΕΝ έχει καμία "οπτική" αντικειμενοστρέφειας. Μπορεί βέβαια κάποιος να κάνει serialisation σε κάποιο object και να το ρίξει στο json. Αλλά αυτο δεν σημαίνει ότι κάθε αντικείμενο σε json (JsonObject) είναι ένα κανονικό αντικείμενο της java. Μπορεί να είναι δυο ή περισσότερα αντικείμενα, και με συγκεκριμένο τρόπο διαβάζει ο "προγραμματιστής" διαβάζει το json και τοποθετεί τα δεδομένα σε αυτά (ή τα φτιάχνει).
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα