2016-10-03 2 views
-2

Methode in Web-Service-jsonArray zeigt nicht (Web-Service)

Methode:

[WebMethod] 
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)] 
public void GetList() 
{ 
     JavaScriptSerializer ser = new JavaScriptSerializer(); 

     Test[] test=new Test[3]; 
     test[0] = new Test("1", "anex"); 
     test[1] = new Test("2", "Ahmed"); 
     test[2] = new Test("3", "Karim"); 

     var json = new 
     { 
      list=test , 
      DateTime=DateTime.Now.ToShortDateString()        
     }; 

     HttpContext.Current.Response.Write(ser.Serialize(json)); 
} 

Ergebnis: {"list":[{},{},{}],"DateTime":"03/10/2016"}

Liste zeigt nicht !!

+1

Fügen Sie bitte die Definition der'Test'-Klasse hinzu. Wenn es keine oder nur private Eigenschaften hat, ignoriert der Serializer sie. –

+0

öffentliche Klasse Test { private Zeichenfolge id {get; einstellen; } Name der privaten Zeichenfolge {get; einstellen; } public Test() {} öffentlicher Test (String i, String n) { this.id = i; this.name = n; } } –

+0

danke @rboe es funktionierte wie ein Charme –

Antwort

0

Die Klasse Test enthält nur private Felder. Daher ignoriert die JavaScriptSerializer sie. Deklariere sie als public und sie werden im produzierten JSON angezeigt.

+0

Dank es funktionierte –

+0

@ Ane'xBm - Gern geschehen. Bitte vergessen Sie nicht, den Beitrag als Antwort zu markieren, wenn er Ihre Frage beantwortet hat. –