Пример #1
0
Файл: Jef.cs Проект: Xorton/Jef
 static void outObjectJson(string offset, JefData data)
 {
     outFile.WriteLine("{");
     int cnt = data.asObject.Count;
     foreach (KeyValuePair<string, JefData> dat in data.asObject)
     {
         outFile.Write("{0}{1}\"{2}\":", offset, offsetString, dat.Key);
         if ((dat.Value.type == JefType.Array) || (dat.Value.type == JefType.Object))
             outFile.Write("\r\n{0}{1}", offset, offsetString);
         outDataJson(offset + offsetString, dat.Value);
         cnt--;
         if (cnt >0)
             outFile.WriteLine(',');
         else
             outFile.WriteLine();
     }
     outFile.Write("{0}}}", offset);
 }
Пример #2
0
Файл: Jef.cs Проект: Xorton/Jef
 static JefData ReadObject()
 {
     Match('{');
     string key;
     JefData val;
     Dictionary<string, JefData> res = new Dictionary<string, JefData>();
     while (sym != '}')
     {
         ReadString(out key);
         SkipWhite();
         val = null;
         if (sym == ':')
         {
             Match(':');
             val = ReadData();
         }
         if (key != "")
         {
             if (val != null)
             {
                 if (res.ContainsKey(key))
                     res[key] = val;
                 else
                     res.Add(key, val);
             }
             else
             {
                 if (res.ContainsKey(key))
                     res[key] = new JefData(true);
                 else
                     res.Add(key, new JefData(true));
             }
         }
         if (sym == ';')
             Match(';');
         else if (sym == ',')
             Match(',');
     }
     Match('}');
     return new JefData(res);
 }
Пример #3
0
Файл: Jef.cs Проект: Xorton/Jef
 static void outObject(string offset, JefData data)
 {
     outFile.WriteLine("{");
     foreach (KeyValuePair<string, JefData> dat in data.asObject)
     {
         outFile.Write("{0}{1}{2}: ", offset, offsetString, dat.Key);
         if ((dat.Value.type == JefType.Array) || (dat.Value.type == JefType.Object))
             outFile.Write("\n{0}{1}", offset, offsetString);
         outData(offset + offsetString, dat.Value);
         if (dat.Value.type != JefType.Array && dat.Value.type != JefType.Object) outFile.Write(';');
         outFile.WriteLine();
     }
     outFile.Write("{0}}}", offset);
 }
Пример #4
0
Файл: Jef.cs Проект: Xorton/Jef
 static void outDataJson(string offset, JefData data)
 {
     if (data.type == JefType.Array)
         outArrayJson(offset, data);
     else if (data.type == JefType.Object)
         outObjectJson(offset, data);
     else if (data.type == JefType.Boolean)
         outFile.Write(data.bValue ? "true" : "false");
     else if (data.type == JefType.String)
         outFile.Write("\"" + data.sValue
                     .Replace("\\", "\\\\")
                     .Replace("\r\n", "\n")
                     .Replace("\n", "\\n")
                     .Replace("\b", "\\b")
                     .Replace("\f", "\\f")
                     .Replace("\t", "\\t")
                     .Replace("\"", "\\\"")
                     + "\"");
     else
         outFile.Write(data.SaveToString());
 }
Пример #5
0
Файл: Jef.cs Проект: Xorton/Jef
 static void outData(string offset, JefData data)
 {
     if (data.type == JefType.Array)
         outArray(offset, data);
     else if (data.type == JefType.Object)
         outObject(offset, data);
     else
         outFile.Write(data.SaveToString());
 }
Пример #6
0
Файл: Jef.cs Проект: Xorton/Jef
 static void outArrayJson(string offset, JefData data)
 {
     outFile.WriteLine("[");
     int cnt = data.asArray.Count;
     foreach (JefData dat in data.asArray)
     {
         outFile.Write("{0}{1}", offsetString, offset); outDataJson(offset + offsetString, dat);
         cnt--;
         if (cnt > 0)
             outFile.WriteLine(',');
         else
             outFile.WriteLine();
     }
     outFile.Write("{0}]", offset);
 }
Пример #7
0
Файл: Jef.cs Проект: Xorton/Jef
 static void outArray(string offset, JefData data)
 {
     outFile.WriteLine("[");
     foreach (JefData dat in data.asArray)
     {
         outFile.Write("{0}{1}", offsetString, offset); outData(offset + offsetString, dat);
         outFile.WriteLine();
     }
     outFile.Write("{0}]", offset);
 }