ServiceStack accepts content in a number of different formats, JSV is just one of them, although it's what ServiceStack uses to serialize complex types QueryString or FormData params, however if you're just sending HTML Form values, they're not complex values so you can send them using the standard HTML Content Types, e.g. (queryString, application/x-www-form-urlencoded or multipart/form-data). If you need to call ServiceStack APIs from any of the popular supported languages you can just their generic JSON Service Client and generated DTOs.
You should never need to, but if you want to send JSV from C#/.NET you can use the JsvServiceClient.
The only time you'll ever need to send JSV is if you need to send complex JS Objects from a browser, in which case you can use the JSV impl in @servicestack/client to serialize a JS object to JSV, e.g:
let jsv = JSV.stringify(obj);
If you're using any of the SPA project templates @servicestack/client is already imported.
Otherwise @servicestack/client is embedded inside ServiceStack.dll which you can access with:
<script src="/js/servicestack-client.js"></script>
For older or non ServiceStack apps you can resolve it from unpkg CDN instead:
<script src="https://unpkg.com/@servicestack/client/dist/servicestack-client.min.js"></script>
Which you can import into the global namespace with:
<script>
var exports = { __esModule:true }, module = { exports:exports }
function require(name) { return exports[name] || window[name] }
</script>
<script src="/js/servicestack-client.js"></script>
<script>
Object.assign(window, exports); //import
let jsv = JSV.stringify(obj);
</script>