/*
Kooboo is a content management system based on ASP.NET MVC framework. Copyright 2009 Yardi Technology Limited.
This program is free software: you can redistribute it and/or modify it under the terms of the
GNU General Public License version 3 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program.
If not, see http://www.kooboo.com/gpl3/.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Collections.Specialized;
using System.Web.Script.Serialization;
namespace Everest.Library.Json.Converters{
public class NameValueConverter : JavaScriptConverter
{
IList<Type> suppotedTypes = new List<Type>() { typeof(NameValueCollection) };
public override object Deserialize(IDictionary<string, object> dictionary, Type type, JavaScriptSerializer serializer)
{
NameValueCollection nameValues = new NameValueCollection();
foreach (DictionaryEntry item in dictionary.Values)
{
nameValues.Add(item.Key.ToString(), item.Value.ToString());
}
return nameValues;
}
public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
{
NameValueCollection nameValues = (NameValueCollection)obj;
IDictionary<string, object> jsonValues = new Dictionary<string, object>();
foreach (string key in nameValues.Keys)
{
jsonValues.Add(key, nameValues[key]);
}
return jsonValues;
}
public override IEnumerable<Type> SupportedTypes
{
get { return suppotedTypes; }
}
}
}
|