Хорошо, я знаю, что, должно быть, упускаю что-то простое.
Спасибо за вашу помощь!
[ИЗМЕНЕНО, чтобы уточнить]
Проблема, с которой я столкнулсяявляется то, что ввод JSON не десериализован должным образом или что-то и дает мне пустой результат XML.Я хочу вывод в формате XML, я просто не хочу, чтобы он был пустым.
Код является упрощенной версией моего фактического кода.В своем реальном коде я получаю JSON с другого веб-сайта и пытаюсь проанализировать его и вернуть в XML-запросе на мыло.
Чтобы упростить задачу, я взял строку JSON и просто жестко запрограммировалэто как пример.
[WebService(Namespace="my.soap")]
public class StockQuote : WebService
{
[WebMethod(Description="",EnableSession=false)]
public ResultSet IBM()
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
string json = "{\"ResultSet\":{\"Query\":\"ibm\",\"Result\":[{\"symbol\":\"IBM\",\"name\": \"International Business Machines Corp.\",\"exch\": \"NYQ\",\"type\": \"S\",\"exchDisp\":\"NYSE\",\"typeDisp\":\"Equity\"},{\"symbol\":\"IBM.F\",\"name\": \"IBM\",\"exch\": \"FRA\",\"type\": \"S\",\"exchDisp\":\"Frankfurt\",\"typeDisp\":\"Equity\"},{\"symbol\":\"IBM.DE\",\"name\": \"IBM\",\"exch\": \"GER\",\"type\": \"S\",\"exchDisp\":\"XETRA\",\"typeDisp\":\"Equity\"},{\"symbol\":\"^AXI\",\"name\": \"Stlmt ID - NASDAQ OMX Alpha IBM\",\"exch\": \"NAS\",\"type\": \"I\",\"exchDisp\":\"NASDAQ\",\"typeDisp\":\"Index\"},{\"symbol\":\"^IVSPY\",\"name\": \"NASDAQ OMX Alpha IBM vs. SPY\",\"exch\": \"NAS\",\"type\": \"I\",\"exchDisp\":\"NASDAQ\",\"typeDisp\":\"Index\"},{\"symbol\":\"IBMSX\",\"name\": \"Invesco Multi-Sector B\",\"exch\": \"NAS\",\"type\": \"M\",\"exchDisp\":\"NASDAQ\",\"typeDisp\":\"Fund\"},{\"symbol\":\"IBM.BE\",\"name\": \"IBM\",\"exch\": \"BER\",\"type\": \"S\",\"exchDisp\":\"Berlin\",\"typeDisp\":\"Equity\"},{\"symbol\":\"IBM.SG\",\"name\": \"IBM\",\"exch\": \"STU\",\"type\": \"S\",\"exchDisp\":\"Stuttgart\",\"typeDisp\":\"Equity\"},{\"symbol\":\"IBM.BA\",\"name\": \"International Business Machines Corp.\",\"exch\": \"BUE\",\"type\": \"S\",\"exchDisp\":\"Buenos Aires\",\"typeDisp\":\"Equity\"},{\"symbol\":\"IBM.L\",\"name\": \"International Business Machines Corp.\",\"exch\": \"LSE\",\"type\": \"S\",\"exchDisp\":\"London\",\"typeDisp\":\"Equity\"}]}}";
return serializer.Deserialize<ResultSet>(json);
}
}
[Serializable]
public class ResultSet
{
public string Query;
public ResSet[] Result;
}
[Serializable]
public class ResSet
{
public string symbol;
public string name;
public string exch;
public string type;
public string exchDisp;
public string typeDisp;
}
Я получаю следующее, возвращаемое веб-службой вместо отформатированного объекта:
<?xml version="1.0" encoding="utf-8" ?>
<ResultSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="my.soap" />