2015-03-11 7 views
6

Sto tentando di utilizzare il provider del tipo JSON per accedere ai dati StackOverflow/StackExchange tramite l'API. Funziona alla grande, con un avvertimento. L'API ha un throttle, che è segnalato da un campo "backoff" che contiene il numero di secondi che si suppone che facciano retromarcia fino alla tua prossima richiesta. Come risultato, non posso semplicemente puntare il JSON TP all'URL, perché di default il campo backoff non è presente. Questo è come la risposta appare tipicamente:Esempio di dati per provider di tipi JSON con proprietà opzionale

{ 
    "items": [ 
    { 
     "has_synonyms": true, 
     "user_id": 1144035, 
     "is_moderator_only": false, 
     "is_required": false, 
     "count": 7054, 
     "name": "sql" 
    }, 
    { 
     "has_synonyms": true, 
     "user_id": 1144035, 
     "is_moderator_only": false, 
     "is_required": false, 
     "count": 16, 
     "name": "algorithm" 
    } 
    ], 
    "has_more": true, 
    "quota_max": 10000, 
    "quota_remaining": 9693 
} 

ho pensato quello che dovevo fare era fornire un campione che contiene sia un esempio senza backoff (come sopra), e uno lungo le linee di questo:

"has_more": true, 
    "quota_max": 10000, 
    "quota_remaining": 9693, 
    "backoff": 10 
} 

... in modo da ottenere un'opzione di backoff. Tuttavia, non sono sicuro di come strutturare/preparare il campione a tale effetto. L'aiuto sarebbe molto apprezzato!

risposta

4

Il fornitore del tipo JSON ha una proprietà SampleIsList, impostarlo su true.
C'è una sezione di documentazione Parsing del flusso di Twitter su di esso, JsonProvider si prega di scorrere verso il basso in quanto non vi è alcun modo di fare riferimento direttamente alla sezione.

Il file di esempio dovrebbe essere simile

[{ 
    ... 
    "has_more": true, 
    "quota_max": 10000, 
    "quota_remaining": 9693 
},{ 
    ... 
    "has_more": true, 
    "quota_max": 10000, 
    "quota_remaining": 9693, 
    "backoff": 10 
}] 
Problemi correlati