// 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);
}
}