2009-03-26 15 views
2

GoogleのビジュアライゼーションAPIのjson形式の.NETアプリでデータを使用するにはどうすればよいですか?現時点ではこのデータの使い方を想像することはできません。Google Visualization API .net?

jsonをオブジェクトで解析する必要がありますか?それをデシリアライズするのにJson.NETを使用できますか?今のところ私はこれでどのように始まるのか分かりません。どんな助けもありがとうございます。

データは次のようになります。

{ 
    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'}]} 
    ] 
} 

答えて

2

私はJson.NETがそれをデシリアライズするために使用することはできますか?

はい。それがそれのためのものです。

今のところ、私はこれでどのように開始するのか分かりません。どんな助けもありがとうございます。

The manual

+0

は答えてくれてありがとう。私は.NETにはまったく慣れていないと言いました。私はマニュアルを読んで、自分のデータ構造を逆シリアル化する方法を理解しようとしました。しかし、今はマニュアルを読む前よりも混乱しています。 – pantarhei

1

あなたはSystem.Runtime.Serialization.Json名前空間でDataContractJsonSerializerクラスを経由してJSONのデシリアライゼーションを使用することができます。 XMLシリアライゼーションにかなり似ています。データクラスをたくさん作成し、それらを属性でドレスし、Jsonをデシリアライザにチャッキングします。

は、以下の記事では説明してどのようにGoogleウェブ検索例とJSONとの仕事:

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

0

私は遅刻を知っているが、将来の求職者のためにここを見て:

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

私は問題なく使用しています。

サンプルコード:

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

また、あなたが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(); 

}

関連する問題