2012-04-11 14 views
-1

DLLを使用せずにリストボックスにデータを表示したいと思います。また、私のwebserviceがjson形式で応答しています。 below.itが800件の以上のレコードがWP7でJson webServiceレスポンスを解析する方法

を持っているよう

私のWebサービスの応答である

[ 
    { 
    "st_id":"1", 
     "st_name":"name xyz" 
    }, 
{ 

    "st_id":"2", 
    "st_name":"name ABC" 
}, 
{ 

    "st_id":"3", 
    "st_name":"name HIJK" 
}, 
{ 
    "st_id":"4", 
    "st_name":"name OPQ" 
}, 
] 

[DataContract] 
public class Student 
{ 
    [DataMember=("st_id")] 
    public bool st_id { get; set; } 
    [DataMember=("st_name")] 
    public string st_name { get; set; } 

} 

イムWSを取得DataContractJsonSerializer &メートルを使用してオブジェクトをシリアル化しようとして以下のようにデータのための私のクラスでありますストリームの応答。私はシリアル化することができません.SilgestのリンクやjsonのSerilizeとDeserilizeのチュートリアル

DataContractJsonSerializer stdserialize = 
    new DataContractJsonSerializer(typeof(Student)); 
Student stuser = (Student)stdserialize.ReadObject(responseStream); 

jsonレスポンスの解析のために&は、datacontractと基本から知識を提供するすべてのリンクを提案してください。
おかげで、

+0

なぜあなたは「任意のDLLを使用せずに、」指定しましたか?私はWP7でうまく動作するJson.NETを使用します... –

+0

しかし、mがJson.Netの参照を追加しようとしている間、それは表示されません。 &私はまた、System.Jsonを使って名前空間を試しました。 – user1140237

+0

まあ、Json.NETはその名前空間を使用していません...そして、あなたはまずjson.codeplex.comからダウンロードしなければなりません... –

答えて

0

あなたはboolとしてst_idを宣言していますが、デシリアライズしようとしているデータの種類は、(数字に変換することができます - ないブール値に)文字列です。 stringと宣言してみるとうまくいくはずです。

また、応答は、オブジェクトの配列あるので、あなたが使用するタイプはStudent[]次のとおりです。

DataContractJsonSerializer stdserialize = 
    new DataContractJsonSerializer(typeof(Student[])); 
Student stuser = (Student[])stdserialize.ReadObject(responseStream); 
関連する問題