예제 #1
0
 static JsonValue Load(TextReader textReader, IJsonReader jsonReader, HjsonOptions options)
 {
     if (textReader == null)
     {
         throw new ArgumentNullException("textReader");
     }
     return(new HjsonReader(textReader, jsonReader, options).Read());
 }
예제 #2
0
 /// <summary>Saves Hjson to a stream.</summary>
 public static void Save(JsonValue json, Stream stream, HjsonOptions options = null)
 {
     if (stream == null)
     {
         throw new ArgumentNullException("stream");
     }
     Save(json, new StreamWriter(stream), options);
 }
예제 #3
0
 static JsonValue Load(Stream stream, IJsonReader jsonReader, HjsonOptions options)
 {
     if (stream == null)
     {
         throw new ArgumentNullException("stream");
     }
     return(Load(new StreamReader(stream, true), jsonReader, options));
 }
예제 #4
0
 /// <summary>Parses the specified Hjson/JSON string, optionally preserving whitespace and comments.</summary>
 public static JsonValue Parse(string hjsonString, HjsonOptions options)
 {
     if (hjsonString == null)
     {
         throw new ArgumentNullException("hjsonString");
     }
     return(Load(new StringReader(hjsonString), options));
 }
예제 #5
0
 public HjsonReader(TextReader reader, IJsonReader jsonReader, HjsonOptions options)
     : base(reader, jsonReader)
 {
     if (options != null)
     {
         ReadWsc      = options.KeepWsc;
         dsfProviders = options.DsfProviders;
     }
 }
예제 #6
0
 /// <summary>Saves Hjson to a TextWriter.</summary>
 public static void Save(JsonValue json, TextWriter textWriter, HjsonOptions options = null)
 {
     if (textWriter == null)
     {
         throw new ArgumentNullException("textWriter");
     }
     new HjsonWriter(options).Save(json, textWriter, 0, false, "", true, true);
     textWriter.Flush();
 }
예제 #7
0
 /// <summary>Saves Hjson to a file.</summary>
 public static void Save(JsonValue json, string path, HjsonOptions options = null)
 {
     if (Path.GetExtension(path).ToLower() == ".json")
     {
         json.Save(path, Stringify.Formatted); return;
     }
     using (var s = File.CreateText(path))
         Save(json, s, options);
 }
예제 #8
0
        /// <summary>Saves as Hjson to a string.</summary>
        public string ToString(HjsonOptions options)
        {
            if (options == null)
            {
                throw new ArgumentNullException("options");
            }
            var sw = new StringWriter();

            HjsonValue.Save(this, sw, options);
            return(sw.ToString());
        }
예제 #9
0
 public HjsonWriter(HjsonOptions options)
 {
     if (options != null)
     {
         writeWsc       = options.KeepWsc;
         emitRootBraces = options.EmitRootBraces;
         dsfProviders   = options.DsfProviders;
     }
     else
     {
         emitRootBraces = true;
     }
 }
예제 #10
0
 static JsonValue Load(string path, IJsonReader jsonReader, HjsonOptions options)
 {
     if (Path.GetExtension(path).ToLower() == ".json")
     {
         return(JsonValue.Load(path));
     }
     try
     {
         using (var s = File.OpenRead(path))
             return(Load(s, jsonReader, options));
     }
     catch (Exception e) { throw new Exception(e.Message + " (in " + path + ")", e); }
 }
예제 #11
0
 /// <summary>Loads Hjson/JSON from a TextReader, optionally preserving whitespace and comments.</summary>
 public static JsonValue Load(TextReader textReader, HjsonOptions options, IJsonReader jsonReader = null)
 {
     return(Load(textReader, jsonReader, options));
 }
예제 #12
0
 /// <summary>Loads Hjson/JSON from a stream, optionally preserving whitespace and comments.</summary>
 public static JsonValue Load(Stream stream, HjsonOptions options)
 {
     return(Load(stream, null, options));
 }
예제 #13
0
 /// <summary>Loads Hjson/JSON from a file, optionally preserving whitespace and comments.</summary>
 public static JsonValue Load(string path, HjsonOptions options)
 {
     return(Load(path, null, options));
 }