Я не уверен, что вы хотите передать в виде необработанной строки JSON, но если вы хотите передать только небольшую полезную нагрузку JSON, вы можете с уверенностью использовать ServiceClients Json / Jsv, поскольку они неt включает нулевые значения, поэтому будет проходить только те поля, которые вы заполняете.
Вы можете проверить, что сериализуется, используя сериализатор Json напрямую.
Console.WriteLine(JsonSerializer.SerializeToString(cls));
Если вы просто хотите протестировать / отладить свой сервис, лучший способ - просто использовать браузер одним из следующих способов:заполнение полей строкой запроса, например:
http://localhost/myservice/postrequest?Field1=value1&Field2=value2
В большинстве случаев, когда вы хотите передать необработанную строку JSON, вам потребуется использовать другой клиент HTTP, и в этом случае вам лучше вызватьвместо этого веб-сервисы отправляют данные формы POST, поскольку они изначально поддерживаются всеми клиентами HTTP, и вам не нужен сериализатор JSON.например, вот как вызвать ту же службу через HTTP POST с помощью curl:
curl -d "Field1=value1&Field2=value2" http://localhost/myservice/postrequest
Существует много других способов вызова той же службы, см. Пример Hello World из стека служб дляПолный список.Вот как вы бы назвали это, используя HTML:
<form action="http://localhost/myservice/postrequest" method="POST">
<input type="text" name="Field1" value="value1" />
<input type="text" name="Field2" value="value2" />
</form>
Поскольку вы публикуете его из веб-браузера, стек обслуживания возвращает HTML, но если вы хотите увидеть результат JSON, вам просто нужно добавить ? format = json на URL.
Или вы можете просто использовать JavaScript и jQuery для POST в вашем веб-сервисе, приведенный ниже пример вернет результаты в виде JSON, который автоматически преобразуется в объект JS:
$.ajax({
type: 'POST',
url: "http://localhost/myservice/postrequest",
data: {Field1: "value1", Field2: "value2"},
success: function(r) { alert(r.Result) },
dataType: "application/json"
});
Приятной особенностью использования веб-браузера для отладки ваших служб является то, что вы можете использовать встроенный сетевой инспектор (т.е. веб-инспектор в Chrome) для просмотра полного запроса / ответа вашего веб-сервиса.,
Если вы не знакомы с ним, я также рекомендую ознакомиться с Fiddler , который позволяет легко анализировать HTTP-трафик.