// JValue using System; using Leguar.TotalJSON.Internal; namespace Leguar.TotalJSON { /// /// Abstract base class for all JSON objects: JSON, JArray, JNumber, JBoolean, JString and JNull. /// public abstract class JValue { protected JValue() { } /// /// Turns this object to JSON formatted string. /// /// /// This object as JSON formatted string, containing only basic ascii characters between [32..126] without line feeds. /// public virtual string CreateString() { return CreateString(new CreateStringSettings()); } /// /// Turns this object to JSON formatted string using specified settings. /// /// /// This object as JSON formatted string. /// public virtual string CreateString(CreateStringSettings settings) { CreateStringRunner createStringRunner = new CreateStringRunner(settings); zCreate(createStringRunner); return createStringRunner.getFinalString(); } internal abstract void zCreate(CreateStringRunner createStringRunner); internal abstract object zDeserialize(Type type, string toFieldName, DeserializeSettings deserializeSettings); } }