Я предполагаю, что вы используете это в GET (иначе это бессмысленно).Я также предполагаю, что вы хотите, чтобы параметр students
URL-адреса был установлен в этот массив.
Вы должны URL-адресом кодировать всю строку.Вы можете использовать онлайн-кодировщик, например https://www.urlencoder.org.Для этого нужно:
[{"id":"1","names":["john","james"]},{"id":"2","names":["peter","harry"]}]
И превратить это в следующее:
%5B%7B%22id%22%3A%221%22%2C%22names%22%3A%5B%22john%22%2C%22james%22%5D%7D%2C%7B%22id%22%3A%222%22%2C%22names%22%3A%5B%22peter%22%2C%22harry%22%5D%7D%5D
Так вот, что вы вставили бы в свой URL:
http://example.com?students=%5B%7B%22id%22%3A%221%22%2C%22names%22%3A%5B%22john%22%2C%22james%22%5D%7D%2C%7B%22id%22%3A%222%22%2C%22names%22%3A%5B%22peter%22%2C%22harry%22%5D%7D%5D
НоЯ надеюсь, что это показывает, почему никто не делает этого :) Это грязно, и это может быть очень долго и очень быстро.
Ответ @RomanMarusyk немного более цивилизован, но подпись вашего контроллера должна соответствовать:вы бы приняли List<Student>
(или как называется ваш класс ученика).
В идеале, объекты JSON, подобные этому, должны быть в теле запроса, и вы бы использовали метод HTTP, который принимает тело (как POST или PUT).