3
json
이 DataTable
을 반환하는 REST
서비스를 가지고 있습니다.json 데이터 테이블을 반환하는 데이터가 수신되지 않습니다.
내가 서비스를 요청할 때 아무런 데이터도 얻지 않지만 (크롬에서 "데이터가 수신되지 않음"), 반환 유형을 string
으로 변경하고 일련 번호가 DataTable
인 문자열을 반환하면 모든 것이 올바르게 작동합니다 Json
문자열을 구문 분석해야합니다.)
//Doesn't Work
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json,
UriTemplate = "data")]
public DataTable LoadData2() {
return JsonQueryDatabase2(VCAPSProduction);
}
.
// Works, but returns a json string
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json,
UriTemplate = "data")]
public string LoadData2() {
return JsonConvert.SerializeObject(JsonQueryDatabase2(connString));
}
DataTable을 사용하여 Json 개체를 반환하도록 서비스를받을 수 있습니까?
이 때문에 당신이, 다른 쪽 끝에서 데이터 테이블을 얻을 대신 개체의 목록을 채우고 있다는에는 직렬화한다 , 일반적으로 대회입니다. http://stackoverflow.com/questions/16441880/how-to-return-json-object –
WCF는 기본적으로 Json.Net을 사용하지 않습니다. Json.Net을 serialiazer로 사용하려면 [this] (http://blogs.msdn.com/b/carlosfigueira/archive/2011/05/03/wcf-extensibility-message-formatters.aspx)를 사용하거나, System.ServiceModel.Channels.Message' 이제 Json.Net으로 채우십시오. ('return WebOperationContext.Current.CreateTextResponse (serializeHere)') –
@Paul 목록을 반환하고 작동하고 있습니다. 감사. – kschieck