Я знаю, что могу вызывать javascript и передавать строковые значения из Silverlight, но могу ли я передать объект JSON или его нужно сериализовать?
Если вы сделаете объект имеющим [ScriptableType] и передадите его в своих аргументах, вы можете достичь того, что вы пытаетесь сделать, без кодирования объекта в JSON и декодирования на стороне JS:
[ScriptableType]
См. Заголовок Возврат объектов из вызовов метода Silverlight в JavaScript at http://pietschsoft.com/post/2008/06/19/Silverlight-and-JavaScript-Interop-Basics.aspx
Полный ответ на этот вопрос можно найти по адресу:
Silverlight неправильно передает объект JSON?