2015-11-30 9 views
5

मेरे पास एक कर्मचारी नियंत्रक में निम्न नमूना कोड है जो कुछ कर्मचारियों को बनाता है, उन्हें एक कर्मचारी सूची में जोड़ता है, और उसके बाद कर्मचारी सूची को अनुरोध प्राप्त करता है। कोड से लौटाए गए JSON में कर्मचारियों को रूट नोड के रूप में शामिल किया गया है। मुझे कर्मचारी संपत्ति के बिना एक JSON सरणी वापस करने की आवश्यकता है क्योंकि जब भी मैं JSON परिणाम को ऑब्जेक्ट्स पर पार्सेट करने का प्रयास करता हूं तो मुझे त्रुटियां मिलती हैं जब तक कि मैं इसे शामिल करने के लिए स्ट्रिंग को मैन्युअल रूप से सुधार नहीं करता।वेबएपीआई रिटर्न JSON सरणी रूट नोड

public class Employee 
{ 
    public int EmployeeID { get; set; } 
    public string Name { get; set; } 
    public string Position { get; set; } 
} 

public class EmployeeList 
{ 
    public EmployeeList() 
    { 
     Employees = new List<Employee>(); 
    } 
    public List<Employee> Employees { get; set; } 
} 


public class EmployeeController : ApiController 
{ 
    public EmployeeList Get() 
    { 
     EmployeeList empList = new EmployeeList(); 
     Employee e1 = new Employee 
     { 
      EmployeeID = 1, 
      Name = "John", 
      Position = "CEO" 
     }; 
     empList.Employees.Add(e1); 
     Employee e2 = new Employee 
     { 
      EmployeeID = 2, 
      Name = "Jason", 
      Position = "CFO" 
     }; 
     empList.Employees.Add(e2); 

     return empList; 
    } 
} 

यह JSON परिणाम मैं जब नियंत्रक कहा जाता है

{ 
    "Employees": 
     [ 
      {"EmployeeID":1,"Name":"John","Position":"CEO"},  
      {"EmployeeID":2,"Name":"Jason","Position":"CFO"} 
     ] 
} 

यह JSON नतीजा यह है कि मैं वापस आ जरूरत

[ 
    {"EmployeeID":1,"Name":"John","Position":"CEO"},  
    {"EmployeeID":2,"Name":"Jason","Position":"CFO"} 
] 

किसी भी मदद की बहुत सराहना कर रहा है के रूप में मैं कर रहा हूँ प्राप्त है WEBAPI के लिए नया और JSON परिणाम पार्सिंग

+0

क्या त्रुटियों मिल रहा है? एपीआई को कॉल करने वाला कोड क्या है? मैं डिफ़ॉल्ट व्यवहार के साथ बहुत कुछ करने की कोशिश करने के बजाए क्लाइंट कोड पार्सिंग को पुन: सक्रिय करने पर और अधिक देखता हूं, ऐसा लगता है कि आपका एपीआई कोड बहुत आसान है, मैं इसे इस तरह से रखूंगा। – Taegost

उत्तर

9

ऐसा इसलिए होता है क्योंकि आप वास्तव में 0 को वापस नहीं कर रहे हैंलेकिन एक ऑब्जेक्ट (कर्मचारीसूची) जिसमें List<Employee> है।
बदलें कि Employee[] (कर्मचारी की एक सरणी) या एक मात्र List<Employee> वापस जाने के लिए इसके आसपास

2

आप एक सूची है, लेकिन यह में एम्बेडेड सूची के साथ एक वस्तु नहीं लौटा रही हैं वर्ग के बिना। करने के लिए अपने विधि का एक हस्ताक्षर बदलें:

public List<Employee> Get() 

और फिर केवल सूची वापसी:

return empList.Employees; 
संबंधित मुद्दे