Надеясь я не должен изобретать велосипед здесь, но кто-либо знает, существует ли класс в C#, подобном тому, предоставленному Adobe для AS3 для преобразования родового объекта в строку JSON?
Например, когда я кодирую массив объектов.
new JSONEncoder(arr).getString();
Вывод:
[
{"type":"mobile","number":"02-8988-5566"},
{"type":"mobile","number":"02-8988-5566"}
]
в C #:
var jsonSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
string json = jsonSerializer.Serialize(yourCustomObject);
У меня хорошо работают следующие методы (с использованием JavaScriptSerializer
):
public static T FromJson<T>(string input)
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
return serializer.Deserialize<T>(input);
}
public static string ToJson(object input)
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
return serializer.Serialize(input);
}
Проверьте это DataContractJsonSerializer.
Используйте DataContractJsonSerializer для сериализации и десериализации данных в формате JavaScript Object Notation (JSON). Этот механизм сериализации преобразует данные JSON в экземпляры типов .NET Framework и обратно в данные JSON