Example #1
0
        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);
        }