2009-03-26 6 views
2

Comment puis-je utiliser des données dans mon application .NET qui arrive au format api json de visualisation de google? Impossible d'imaginer pour le moment comment utiliser ces données.API de visualisation Google .net?

Dois-je analyser le JSON à un objet par moi-même? Puis-je utiliser Json.NET pour le désérialiser? Pour l'instant je n'ai aucune idée comment commencer avec ceci. Toute aide est appréciée.

données ressemble à ceci:

{ 
    cols: [ 
    {id: '1', label: 'Name', type: 'string'}, 
    {id: '2', label: 'Age', type: 'number'}, 
    {id: '3', label: 'Birthdate', type: 'date'} 
    ], 
    rows: [ 
    {c:[{v: 'Dan'}, {v: 18.0, f: 'eighteen'}, {v: new Date(2008, 1, 28, 0, 31, 26), f: '2/28/08 12:31 AM'}]}, 
    {c:[{v: 'Frank'}, {v: 19.0, f: 'nineteen'}, {v: new Date(2008, 2, 30, 0, 31, 26), f: '3/30/08 12:31 AM'}]}, 
    {c:[{v: 'Esther'}, {v: 20.0, f: 'twenty'}, {v: new Date(2008, 3, 30, 0, 31, 26), f: '4/30/08 12:31 AM'}]} 
    ] 
} 

Répondre

2

Puis-je utiliser Json.NET pour désérialiser?

Oui. C'est pour ça.

Pour l'instant, je n'ai aucune idée comment commencer avec ceci. Toute aide est appréciée.

The manual

+0

merci pour la réponse. J'ai oublié de mentionner que je suis assez nouveau pour .NET. J'ai lu le manuel et essayé de comprendre comment désérialiser ma structure de données. Mais pour l'instant je suis plus confus qu'avant de lire le manuel. – pantarhei

1

Vous pouvez utiliser JSON désérialisation via la classe DataContractJsonSerializer dans l'espace de noms System.Runtime.Serialization.Json. C'est assez similaire à la sérialisation XML en ce sens que vous créez un tas de classes de données, les habillez avec des attributs et passez le Json dans un désérialiseur.

L'article ci-dessous explique comment travailler avec JSON avec un exemple de recherche sur le web Google:

http://www.ben-morris.com/google-search-api-deserialize-json-output-net

0

Je sais que je suis en retard, mais pour les chercheurs futurs jeter un coup d'oeil ici:

https://code.google.com/p/bortosky-google-visualization/

Je l'utilise sans aucun problème.

Exemple de code:

DataTable tbl = DatabaseEnquiry(sqlcommand, DATE_IN, DATE_OUT, "dd/MM/yyyy HH:mm:ss", true); 
return new Bortosky.Google.Visualization.GoogleDataTable(tbl).GetJson().ToString(); 

Vous pouvez également utiliser JavaScriptSerializer:

DataTable tbl = DatabaseEnquiry(sqlcommand, DATE_IN, DATE_OUT, "dd/MM/yyyy HH:mm:ss", true); 
JavaScriptSerializer js = new JavaScriptSerializer(); 
StringBuilder sb = new StringBuilder(); 
try 
{ 
    var linqResults = from DataRow row in tbl.AsEnumerable() 
         select new 
         { 
          avgft = row.Field<object>("AVG FT"), 
          minft = row.Field<object>("MIN FT"), 
          maxft = row.Field<object>("MAX FT"), 
          avgffc = row.Field<object>("AVG FFC"), 
          minffc = row.Field<object>("MIN FFC"), 
          maxffc = row.Field<object>("MAX FFC"), 
          avgtt = row.Field<object>("AVG TT"), 
          mintt = row.Field<object>("MIN TT"), 
          maxtt = row.Field<object>("MAX TT"), 
          avgtfc = row.Field<object>("AVG TFC"), 
          mintfc = row.Field<object>("MIN TFC"), 
          maxtfc = row.Field<object>("MAX TFC") 
         }; 
    js.Serialize(linqResults, sb); 
} 
catch (InvalidCastException e) 
{ 
    logger.Debug(e.StackTrace); 
    return null; 
} 
return sb.ToString(); 

}

Questions connexes