public JsonContent Put(string name, IDataInput v) { if (counts[level]++ > 0) { Add(','); } if (name != null) { Add('"'); Add(name); Add('"'); Add(':'); } if (v == null) { Add("null"); } else { counts[++level] = 0; // enter if (v.DataSet) { 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(']'); } else { Add('{'); v.Write(this); Add('}'); } level--; // exit } return(this); }