Квадратные скобки вокруг ответа JSON в веб-API ⇐ C#

Место общения программистов C#
Anonymous
Квадратные скобки вокруг ответа JSON в веб-API

Сообщение Anonymous »

Я создал веб-API C# с помощью Swagger. Он запущен и работает по этой ссылке: https://www.vijilcomm.com/api/swagger/index.html.
Когда я нажимаю, например так:

Код: Выделить всё

https://www.vijilcomm.com/api/VijilconOn?SerialNumber=12345&IPAddress=99.41.190.178
Ответ, который я получаю, заключен в квадратные скобки.

Код: Выделить всё

    [{"serialNumber":"12345","ipAddress":"99.41.190.178","heartbeatWait":0,"alertSoundTime":0,"fullBatteryLevel":0,"middleBatteryLevel":0,"lowBatteryLevel":0,"criticalBatteryLevel":0,"tooHardMovement":0,"unitID":"","reportPhone":"","action":"Device not found"}]
Я знаю, что квадратные скобки в JSON обозначают массив. Похоже, он выводит его в виде массива или чего-то в этом роде. Это действительный JSON с ответом в квадратных скобках или что-то не так с моим кодом? Мой контроллер имеет этот код:

Код: Выделить всё

` [HttpGet(Name = "VijilconOn")]
public IEnumerable Get(string SerialNumber, string IPAddress)
{
return Enumerable.Range(1, 1).Select(index => new VijilconOn
{
HeartbeatWait = (Functions.ReturnIntFieldValue("HeartbeatWait", "Devices", "[SerialNumber]='" + SerialNumber + "'")),
AlertSoundTime = (Functions.ReturnIntFieldValue("AlertSoundTime", "Devices", "[SerialNumber]='" + SerialNumber + "'")),
FullBatteryLevel = (Functions.ReturnIntFieldValue("FullBatteryLevel", "Devices", "[SerialNumber]='" + SerialNumber + "'")),
MiddleBatteryLevel = (Functions.ReturnIntFieldValue("MiddleBatteryLevel", "Devices", "[SerialNumber]='" + SerialNumber + "'")),
LowBatteryLevel = (Functions.ReturnIntFieldValue("LowBatteryLevel", "Devices", "[SerialNumber]='" + SerialNumber + "'")),
CriticalBatteryLevel = (Functions.ReturnIntFieldValue("CriticalBatteryLevel", "Devices", "[SerialNumber]='" + SerialNumber + "'")),
TooHardMovement = (Functions.ReturnIntFieldValue("TooHardMovement", "Devices", "[SerialNumber]='" + SerialNumber + "'")),
UnitID = Functions.ReturnFieldValue("FriendlyName", "Devices", "[SerialNumber]='" + SerialNumber + "'").ToString(),
ReportPhone = Functions.ReturnFieldValue("ReportPhone", "Devices", "[SerialNumber]='" + SerialNumber + "'").ToString(),
IPAddress = Functions.RecordIPAddress(SerialNumber,IPAddress).ToString(),
Action = Functions.CheckIn(SerialNumber, "ON").ToString(),
SerialNumber = SerialNumber
})
.ToArray();
}`
Мне кажется логичным, что он выводится в виде массива. Мой вопрос: я делаю здесь что-то не так, или это нормально, что JSON выводится таким образом? Спасибо за помощь! Это мой первый веб-API REST JSON, поэтому я не уверен, нахожусь ли я на правильном пути или что-то не так. Спасибо!
Я попробовал использовать приведенный выше код и Swagger, и JSON был выведен, как описано. Я не уверен, нужно ли мне менять поведение моей функции контроллера или я могу просто оставить все как есть...

Подробнее здесь: https://stackoverflow.com/questions/791 ... in-web-api

Вернуться в «C#»