I send my data as xml string. on the server end my stored procedure will then convert this string to actual xml and then ingest as follows.
declare @virtslist xml
select @virtslist = @assignedvirts;
create table #updateowner(vmid bigint not null, vmselected bit not null, vmowner nvarchar(300) not null)
insert into #updateowner
select x.v.value('vid[1]', 'int') as vmid,
x.v.value('vs[1]', 'bit') as vmselected,
x.v.value('vo[1]', ' nvarchar(300)') as vmowner
from @virtslist.nodes('/v/v') x(v)
where x.v.value('vs[1]', 'bit') = 1;
not sure if this can work for you.