Windowsphone json解析

1381 ワード

Windowsphoneのjsonサポートは本当に腐っています(マイクロソフトの東に対して、ずっとこのような感じがして、気にする必要はありません)、開発者は2つの選択があって、wpが持っているクラスのシーケンス化方式を使って、1つのクラスを1つのjsonフォーマットの文字にシーケンス化して、あるいは第三者のjsonライブラリを探して問題を解決して、第1の方式に対して、申し訳ありませんが、シーケンス化のスピードが遅すぎて、多くの制限があります.一般的には私の下の選択です.ネット上で見つけたライブラリは一般的に大きすぎて、使いにくいです.serching...seaching...やっと1つの小さい点のライブラリを見つけて、1つのファイルだけで、jsonを基本データ型(dictionary&list)に変換することを支持して、しかし彼はもとはsilverlightの上で書いたので、直接使うことができなくて、変更して、wpを支持して、同時にvalueTypeのタイプに対してintタイプの解析だけを支持するため、修正した後にdoubleとlong形のデータの解析を支持させて、しかし実際に使用する過程でintのデータであれば解析されてlong行になることが判明し、C#の箱詰めメカニズムのため、チャネルlong行データの場合は、先にlong行に置き換え、int型に変換する必要があり、
 
例:
 
 
string json = "{\"abc:\":123}"
Dictionary<string.object> dic = Json.Decoder(json);

int a = dic["abc"]
 
 
上のコードは間違っています.123はlong型のオブジェクトに解析されているので、int型に直接変換することはできません.そうしなければなりません.
 
 
int abc = (long)dic["abc"];

 
添付ファイルは修正したC#ファイルで、2つの静的関数String ss Jsonを提供することをサポートします.Encoder(Object dicOrlist)とObject Json.Decoder(String jsonString)
 
 
同時に、私たちのWindowsphone統計分析サーバーを宣伝することを忘れません.もしあなたのwpアプリケーションが今どれだけのユーザーを持っているかを知りたいなら、それぞれのルートから来て、ユーザーの活躍率はいくらで、毎週どれだけのユーザーを流して、プログラムの崩壊状況を知りたいなら、急いでください.
http://www.umeng.com 
 
PS:我々の統計分析SDKもこのライブラリを使用していますので、名前変更に注意してください