gpt4 book ai didi

c# - 返回 json 数据表未收到数据

转载 作者:行者123 更新时间:2023-11-30 17:00:27 25 4
gpt4 key购买 nike

我有一个 REST 服务,它返回一个 json 序列化的 DataTable

当我向服务发出请求时,我没有收到任何数据(来自 chrome 的“未收到数据”),但是当我将返回类型更改为 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 对象?

最佳答案

我最终选择了 L.B的建议。

using Newtonsoft.Json; // JsonConvert.SerializeObject

...

[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json,
UriTemplate = "data?limit={limit}")]
public System.ServiceModel.Channels.Message LoadData_Limited(int limit) {

if (limit <= 0) { return null; }

string query = ...;

try {

...

//Return data from query
DataTable dt = QueryDatabase(connString, query, parameters);
string serialized = JsonConvert.SerializeObject(dt);
return WebOperationContext.Current.CreateTextResponse(serialized);

} catch {
return null;
}
}

关于c# - 返回 json 数据表未收到数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22199739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com