Username
Password

Programmazione

Supporto per Linguaggi di Programmazione
Sunday, 12 January 2014, 08:35
gillesvilleneuve
 GillesVilleneuve
 Utente Appassionato
 
L'avatar di  gillesvilleneuve
 
 Messaggi: 1,446

C# gestione API in JSONP


Salve a tutti, spero che qualcuno mi dia una dritta altrimenti sbrocco!!!

Dovrei fare un programma che "preleva" informazioni da questo sito: http://octopart.com/.

La cosa dovrebbe essere piuttosto banale, ma a me veramente non riesce!!!
in poche parole, si invia una stringa tipo questa al server:
http://octopart.com/api/v3/parts/82b...ey=EXAMPLE_KEY ecc ecc...

e lui risponde con una roba simile:
vedi allegato

Qui dentro ci sono tutte le informazioni che mi servono, e devo "semplicemente" estrarle.

Dal sito si capisce che lo standard è il JSONP, e che quindi basta usare la classe che si trova qui:
http://james.newtonking.com/json/hel...ject_Load.htm#

Io sono riuscito ad estrarre le informazioni come riportato qui:
http://james.newtonking.com/json/hel...ject_Load.htm#

In poche parole:
creo una classe che rappresenta tutti gli oggetti all'interno della risposta e poi li estraggo uno per uno.

Ma qui viene il bello! la sezione che più mi interessa è la sezione "specs", dove per ogni componente ci sono varie caratteristiche, il problema è che non sono le stesse, cambiano per ogni componente quindi mi è impossibile fare una classe.

Ci deve essere sicuramente un metodo meno macchinoso per estrarre le informazioni da quelle API. Avete qualche dritta?

Avevo cisto anche questa pagina:
http://stackoverflow.com/questions/1...unknown-fields
nella risposta di Brian Rogers c'è qualcosa ma funziona in modo anomalo, anche se è proprio quello che mi servirebbe.

in oche parole il risultato che mi viene fuori è questo
manufacturer: Panasonic - ECG
mfr. part no: ERJ8BWFR010V
case_package: 1206
case_package_si: 3216
lead_free_status: Lead Free
lifecycle_status: Not Listed by Manufacturer
pin_count: 2
power_rating: 0.5
resistance: 0.01
resistance_tolerance: ±1%
rohs_status: Compliant

pove però mancano tutte le unità di misura e non capisco il perchè!

Grazie in anticipo
Files Allegati
Tipo di File: txt esempio.txt (88.7 KB, 638 visite)
    Rispondi Citando Rispondi
Monday, 13 January 2014, 17:01
C0m4nch3
 Staff
 
L'avatar di  C0m4nch3
 
 Località: Girifalco Pianeta
 Messaggi: 6,589

Detta così al volo il formato JSON serve solitamente per interscambio web quindi in linea di massima è stringatissimo.

Probabilmente quello che ti serve non è parte di un tracciato record classico come in una tablella di un DB (quindi orizzontale), ma una serie di attributi di uno stesso oggetto quindi con una realzione 1->N.

OGGETTO: Casco -> Marca:"Shoei";Visiera:"Chiara"; Pilota:"C0m4nch3" ecc...

Di fatto in questo modo puoi aggiungere tutte le specifiche che vuoi che vuoi... probabilmente poi, per uniformare, ogni tipologia di oggetto oggetto ha una serie di caratteristiche standard di base.

Se noti poi le caratteristiche nella voce "unit" hanno l'unità di misura che è figlia.

A questo punto hai due tipi di approccio:

Il primo tipicamente XML/Web cioè parsi tutto quello che arriva con un approccio stile XML Schema e cioè crei uno schema dinamico man mano che ti compaiono le cose. Se leggi per la prima volta una caratteristica la inserisci tra le possibili [CDATA] delle caratteristiche (quindi comprensiva di unità).

Il secondo tipo di approccio è Tablellare/DB cioè ogni volta che leggi una caratteristica popoli con INSERT OR UPDATE una tabella di caratteristiche che saranno in master/detail con un ulteriore tabella di unità di misura.
__________________
Si ma un pò più a destra Contessa Serbelloni Mazzanti Vien Dal Mare
    Rispondi Citando Rispondi
Monday, 13 January 2014, 17:12
C0m4nch3
 Staff
 
L'avatar di  C0m4nch3
 
 Località: Girifalco Pianeta
 Messaggi: 6,589

Codice:
"metadata": { "__class__": "SpecMetadata", "datatype": "decimal", "key": "power_dissipation", "name": "Power Dissipation", "unit": { "__class__": "UnitOfMeasurement", "name": "W", "symbol": "W" }
Qui l'unità di misura c'è sia come nome che come simbolo... in tanti altri leggo Null

Guardando il formato con più attenzione vedo che la classe viene chiamata SpecMetadata quindi esiste in formato tabellare... ed anche la tabella UnitOfMeasurement
__________________
Si ma un pò più a destra Contessa Serbelloni Mazzanti Vien Dal Mare
    Rispondi Citando Rispondi
Friday, 17 January 2014, 17:00
gillesvilleneuve
 GillesVilleneuve
 Utente Appassionato
 
L'avatar di  gillesvilleneuve
 
 Messaggi: 1,446

non ci ho capito un granchè di quello che mi hai detto...

Mi piacerebbe caricare tutto su un DB ma non saprei come fare...
    Rispondi Citando Rispondi
Rispondi Invia Nuova Discussione


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 visitatori)
 

Thread già visto da:
C0m4nch3, microzott, ggigi99, Breakbll, SanK, Duilio, JoeBar, palin, SatRider, Foxes, Neles, Attilio, gillesvilleneuve
Strumenti Discussione Cerca in questa Discussione
Cerca in questa Discussione:

Ricerca Avanzata
Modalità Visualizzazione

top Regole di scrittura
Tu non puoi inserire messaggi
Tu non puoi rispondere ai messaggi
Tu non puoi inviare allegati
Tu non puoi modificare i tuoi messaggi

codice vB è Attivo
Smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Attivo

Se hai problemi, contattaci


Visite Totali Posts: 81.808.949
Tutti gli Orari sono GMT +1. Attualmente sono le 09:33.

iGroup Black
Powered by vBulletin Versione 3.5.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Traduzione italiana a cura di: Enzo-Staff-VbulletinItalia.it
 
2000, 2012 © Visiva Group