Это можно сделать, приведя от (array) $row
к (object) $row
:
$res_arr = array();
while($row = $result->fetch_assoc()){
array_push($res_arr, (object) $row);
}
header("Content-type: application/json; charset=utf-8");
die(json_encode($res_arr));
Я бы использовал fetch_assoc () , чтобы предотвратить дублирование пронумерованных полей, которые просто раздувают полезная нагрузка ... все вложение в основном бесполезно, и оно дает только качество мусорного кода, в то время как нигде нет больше, чем один вложенный элемент (и это впоследствии сложнее, чем необходимо для доступа на стороне клиента). Вложение будет иметь смысл, когда, например. сначала выбирая все categories
, а затем вкладывая все products
для этого category
, прежде чем перейти к следующему category
.
AB Kolan был также корректен, но Добавьте, что веб-Ссылка использует платформу веб-сервисов старого стиля, тогда как Добавляют, что Сервисные Ссылки используют новый стек WCF. Важное примечание: не требуется, что сам сервис использует WCF для Вас для использования WCF на стороне клиента. WCF на клиенте обычно является лучшим выбором для любого сервиса, если можно взять зависимость от.NET 3.0 и выше.
Это возможно тот же способ, которым Вы получаете доступ к веб-сервисам от любого другого типа приложения, быть этим страница ASP.NET, библиотека классов или сервис окон.
Для объяснительного учебного руководства на предмете посмотрите Доступ к веб-сервису от Настольного приложения.
Добавьте веб-Ссылку на веб-сервис в Вашей ссылке проекта Настольного приложения. Выполнение так генерировало бы Прокси для Веб-сервиса по имени Reference.cs, можно получить доступ веб-сервису с помощью прокси.