Пример #1
0
 public JMbr(JArr v, string name = null)
 {
     this.name = name;
     type      = JType.Array;
     refv      = v;
     numv      = default;
 }
Пример #2
0
 public bool Get(string name, ref JArr v)
 {
     if (TryGet(name, out var mbr))
     {
         v = mbr;
         return(true);
     }
     return(false);
 }
Пример #3
0
 public bool Get(string name, ref string[] v)
 {
     if (TryGet(name, out var mbr))
     {
         JArr ja = mbr;
         if (ja != null)
         {
             v = new string[ja.Count];
             for (int i = 0; i < ja.Count; i++)
             {
                 v[i] = ja[i];
             }
         }
         return(true);
     }
     return(false);
 }
Пример #4
0
 public bool Get <D>(string name, ref D[] v, byte proj = 0x0f) where D : IData, new()
 {
     if (TryGet(name, out var mbr))
     {
         JArr ja = mbr;
         if (ja != null)
         {
             v = new D[ja.Count];
             for (int i = 0; i < ja.Count; i++)
             {
                 JObj jo  = ja[i];
                 D    dat = new D();
                 dat.Read(jo);
                 v[i] = dat;
             }
         }
         return(true);
     }
     return(false);
 }
Пример #5
0
 public void Put(string name, JArr v)
 {
     if (counts[level]++ > 0)
     {
         Add(',');
     }
     if (name != null)
     {
         Add('"');
         Add(name);
         Add('"');
         Add(':');
     }
     if (v == null)
     {
         Add("null");
     }
     else
     {
         counts[++level] = 0; // enter
         Add('[');
         bool bgn = false;
         while (v.Next())
         {
             counts[++level] = 0; // enter an data entry
             if (bgn)
             {
                 Add(',');
             }
             Add('{');
             v.Write(this);
             Add('}');
             level--;
             bgn = true;
         }
         Add(']');
         level--; // exit
     }
 }
Пример #6
0
 public void Put(string name, JArr v)
 {
     throw new NotImplementedException();
 }
Пример #7
0
 public ISource Let(out JArr v)
 {
     throw new NotImplementedException();
 }
Пример #8
0
 public bool Get(string name, ref JArr v)
 {
     throw new NotImplementedException();
 }
Пример #9
0
 public void Add(string name, JArr v)
 {
     Add <JMbr>(new JMbr(v, name));
 }
Пример #10
0
 public bool Get(string name, ref JArr v)
 {
     return(false);
 }
Пример #11
0
        public static D[] StringToArray <D>(string v, byte proj = 0x0f) where D : IData, new()
        {
            JArr ja = (JArr) new JsonParser(v).Parse();

            return(ja.ToArray <D>(proj));
        }
Пример #12
0
 public void Add(JArr elem)
 {
     Add(new JMbr(elem));
 }
Пример #13
0
 public void Put(string name, JArr v)
 {
 }