#region Header /** * IJsonWrapper.cs * Interface that represents a type capable of handling all kinds of JSON * data. This is mainly used when mapping objects through JsonMapper, and * it's implemented by JsonData. * * The authors disclaim copyright to this source code. For more details, see * the COPYING file included with this distribution. **/ #endregion using System.Collections; using System.Collections.Specialized; namespace BestHTTP.JSON.LitJson { public enum JsonType { None, Object, Array, String, Int, Long, Double, Boolean } public interface IOrderedDictionary : IDictionary { new IDictionaryEnumerator GetEnumerator(); void Insert(int index, object key, object value); void RemoveAt(int index); object this[int index] { get; set; } } public interface IJsonWrapper : IList, IOrderedDictionary { bool IsArray { get; } bool IsBoolean { get; } bool IsDouble { get; } bool IsInt { get; } bool IsLong { get; } bool IsObject { get; } bool IsString { get; } bool GetBoolean (); double GetDouble (); int GetInt (); JsonType GetJsonType (); long GetLong (); string GetString (); void SetBoolean (bool val); void SetDouble (double val); void SetInt (int val); void SetJsonType (JsonType type); void SetLong (long val); void SetString (string val); string ToJson (); void ToJson (JsonWriter writer); } }