2011-03-04 93 views
1

我创建了一个以JSON格式返回数据的WCF Web服务。用于服务的代码如下:WCF服务JSON数据

[OperationContract] 
[WebGet(ResponseFormat = WebMessageFormat.Json)] 
List<MyCustomer> GetCustomerJSON(); 

而且

public List<MyCustomer> GetCustomerJSON() 
    { 
     var nm = (from n in _ent.Customers 
        select new MyCustomer() { CustomerID = n.CustomerID, AccountNumber = n.AccountNumber }).Take(10); 

     return nm.ToList(); 

    } 

然而,输出不能很好地形成。它包括开始和结束的方括号。 因此,我无法使用Json Parser工具。 请帮忙。

回答

3

如果返回List<T>它会像在JSON和数组T阵列进行编码将相对于方括号进行编码:

[{"strProprety":"bla","intProperty":123,"booleanProperty":true}] 

在你的情况下,它很可能是

[{"CustomerID":1,"AccountNumber":123},{"CustomerID":2,"AccountNumber":456}] 

它是有效的JSON。您可以使用http://www.jsonlint.com/来验证这一点。所以WCF会产生正确的输出,并且只有使用“Json Parser工具”才会遇到问题。