У меня есть веб-сервис RESTful, который возвращает сериализованные данные в формате JSON.Он может успешно сериализовать объект Dictionary<string, string>
, но я бы хотел, чтобы каждая функция могла возвращать Dictionary<string, object>
.
Когда я возвращаю Dictionary<string, string>
, я получаю ожидаемый ответ JSON.Но когда я пытаюсь вернуть Dictionary<string, object>
, я получаю следующий ответ:
Ошибка ReadResponse (): сервер не возвратил ответ на этот запрос.
Итак, НА КОДЕКС! Вот код Dictionary<string, object>
, который не работает :
[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
public Dictionary<string, object> Test(String Token, String Id)
{
Dictionary<string, object> testresults = new Dictionary<string, object>();
testresults.Add("Test1Key", "Test1Value");
Dictionary<string, string> innertestresults = new Dictionary<string, string>();
innertestresults.Add("InnerTest1Key", "InnerTest1Value");
innertestresults.Add("InnerTest2Key", "InnerTest2Value");
testresults.Add("Test2Key", innertestresults);
return testresults;
}
И, просто для справки, вот код Dictionary<string,string>
, который отлично работает :
[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
public Dictionary<string, string> Test(String Token, String Id)
{
Dictionary<string, string> testresults = new Dictionary<string, string>();
testresults.Add("Test1Key", "Test1Value");
testresults.Add("Test2Key", "Test2Value");
testresults.Add("Test3Key", "Test3Value");
return testresults;
}
Если у кого-нибудь есть идеи, как заставить это работать (или какие-либо альтернативные способы сделать это, чтобы получить тот же конечный результат), пожалуйста, дайте мне знать!Я довольно открыт, как это сделать.
По теме использования ... причина, по которой мне нужен микс, заключается в том, чтобы я мог возвращать результаты, подобные этому (где "Часть данных может быть НИЧЕГО ... не обязательно чем-то с ID ключа, Type и MaxUsers):
{"Status":"Success","Data":{"ID":"1234","Type":"Live","MaxUsers":"5"}}
{"Status":"Failure","Error":"ID does not exist"}
Спасибо всем большое!