Поскольку в javascript отсутствует тип словаря, довольно сложно сделать JSON разборным в один. То, что вам нужно сделать, это написать конвертер самостоятельно.
Однако, это также верно для большинства пользовательских объектов сериализации, так что, надеюсь, это не будет большим сюрпризом.
Теперь он должен, однако, считаться как KeyValuePair, так что вы можете попробовать это, чтобы увидеть, является ли он хотя бы для вас десериализацией. Скорее вам понадобится List<KeyValuePair<>>
Что означает Dictionary<string,string>
для JSON:
var dict = new Dictionary<string,string>;
dict["Red"] = "Rosso";
dict["Blue"] = "Blu";
dict["Green"] = "Verde";
[{"Key":"Red","Value":"Rosso"},
{"Key":"Blue","Value":"Blu"},
{"Key":"Green","Value":"Verde"}]
Тот же ассоциатив из javascript в JSON:
var a = {};
a["Red"] = "Rosso";
a["Blue"] = "Blu";
a["Green"] = "Verde";
{"Red":"Rosso","Blue":"Blu","Green":"Verde"}
Так что проблема в двух словах.
Несколько ссылок на полезность
http://my6solutions.com/post/2009/06/17/The-serialization-and-deserialization-of-the-generic-Dictionary-via-the-DataContractJsonSerializer.aspx
http://msdn.microsoft.com/en-us/library/system.runtime.serialization.collectiondatacontractattribute.aspx