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

    Asp e Json problema in lettura

    Ciao a tutti,
    ho la necessità di fare un chiamata in Asp ad una api tramite Json e sono abbastanza poco pratico della cosa ecco perchè chiedo il vostro aiuto.
    Credo di fare la chiamata correttamente perchè non mi dà nessun errore di sintassi, ma poi se leggo la risposta mi viene scritto a video sempre "null" e non riesco a capire se sono io che sbaglio a leggere oppure c'è un errore da qualche altra parte.

    Uso questo codice:

    codice:
    Set HttpReq = Server.CreateObject("MSXML2.ServerXMLHTTP")
    HttpReq.open "POST", "http://url.apidiprova.com/api/prova/funzione?apykey=[0123456789]", False
    HttpReq.setRequestHeader "Content-Type", "application/json"
    HttpReq.send ""
    pageResult = HttpReq.ResponseText
    Set HttpReq = Nothing
    
    response.Write(pageResult)
    Nella documentazione della Api c'è scritto di fare una chiamata con valori di ingresso "null" e che come valori in uscita dovrei avere un array, chiamato ArrayOfElementiperItem dove ogni nodo si chiama ElementiperItem e ha due valori un ID e un NAME ovvero dovrebbe rispondere per esempio così:

    codice:
    [   {     "ID": 5,     "Name": "Test"   } ]
    Ma a me risponde invece sempre "null".

    Sono io che non leggo questo array o secondo voi il problema non è il mio?
    Dovrei trovarmi una scritta a video come quella e non me la trovo o sono io che leggendo male la risposta faccio in modo che non appaia?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Ho provato a richiamare la url da browser e da inesiste, che sia questo il problema?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    La url non esiste perchè ho messo un esempio di api, non è la url reale e poi nella documentazione volevano solo fosse chiamata via post.
    Finalmente oggi anche se giorno di festa mi hanno risposto dall'azienda che ha creato la API e indovina? si erano dimenticati di attivarla!
    Potevo starci 3 giorni a fare le prove... grazie mille lo stesso per l'aiuto

  4. #4
    Andrea ciao, necessito ancora del tuo aiuto perchè ahimè poco esperto su questa cosa... mi hanno attivato le API come ho scritto precedentemente e infatti adesso ho una risposta di questo genere:

    codice:
    [{"ID":10,"Name":"PROVA PROVA SRL"}]
    Vorrei leggere questa risposta salvando ogni singolo valore in una variabile e ho usato la classe aspJSON version 1.17 di Gerrit van Kuipers come ho trovato in alcuni esempi. La classe leggere le risposte in questo modo per esempio:

    codice:
    <!--#INCLUDE file="aspJSON.asp" --> Set oJSON = New aspJSON
    
    jsonstring = "{""labels"":[{""shipmentID"":""a2f3vh3"",""deliveryNo"":""1234"",""content"":""test"",""invoice"":null,""responseStatus"":{""code"":200,""message"":""SUCCESS"",""messageDetails"":""All shipments processed and label/invoice generated successfully"",""logMsg"":[]}}],""responseStatus"":{""code"":200,""message"":""SUCCESS"",""messageDetails"":""All shipments processed successfully"",""logMsg"":[]}}"
    
    Set oJSON = New aspJSON
    oJSON.loadJSON(jsonstring)
    
    For Each result In oJSON.data("labels")
    
        Set this = oJSON.data("labels").item(data)
    
        var_deliveryNo = this.item("deliveryNo")
        var_content = this.item("content")
    
        response.write "deliveryNo: " & var_deliveryNo & "<br />"
        response.write "content: " & var_content & "<br />"
    
    Next
    La mia però non è una collection o meglio è una collection ma non ha un nodo principale infatti la stringa di risposta inizia subito con la parentesi quadrata "[".
    Ho provato a leggere il valore così:

    codice:
    Response.Write oJSON.data("ID")
    Ma non legge nulla ...

    Sai darmi una dritta su come poter leggere quel valore?
    Grazie mille per l'aiuto

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 © 2024 vBulletin Solutions, Inc. All rights reserved.