コード例 #1
0
        protected override TsonNode VisitObject(TsonObjectNodeBase node)
        {
            var e = node.GetEnumerator();
            bool addComma = false;

            sb.Append("{ ");

            while (e.MoveNext())
            {
                var kv = e.Current;

                if (addComma)
                    sb.Append(", ");
                else
                    addComma = true;

                Visit(kv.Key);
                sb.Append(": ");
                Visit(kv.Value);
            }

            sb.Append(" }");

            return node;
        }
コード例 #2
0
        protected override TsonNode VisitRootObject(TsonObjectNodeBase node)
        {
            action(node);

            foreach (var childNode in node)
            {
                Visit(childNode.Key);
                Visit(childNode.Value);
            }

            return node;
        }
コード例 #3
0
ファイル: XmlTsonNodeVisitor.cs プロジェクト: jlyonsmith/Tson
        protected override TsonNode VisitObject(TsonObjectNodeBase node)
        {
            var e = node.GetEnumerator();

            sb.Append("<object>");

            while (e.MoveNext())
            {
                var kv = e.Current;

                sb.AppendFormat("<{0}>", kv.Key.Value);
                Visit(kv.Value);
                sb.AppendFormat("</{0}>", kv.Key.Value);
            }

            sb.Append("</object>");

            return node;
        }
コード例 #4
0
 protected override TsonNode VisitRootObject(TsonObjectNodeBase node)
 {
     return VisitObject(node);
 }
コード例 #5
0
        protected override TsonNode VisitObject(TsonObjectNodeBase node)
        {
            var e = node.GetEnumerator();
            bool addComma = false;

            sb.Append(indent);
            sb.AppendLine("{");
            Indent();

            while (e.MoveNext())
            {
                var kv = e.Current;

                if (addComma)
                    sb.AppendLine(",");
                else
                    addComma = true;

                sb.Append(indent);
                Visit(kv.Key);

                if (kv.Value.IsObject || kv.Value.IsArray)
                {
                    sb.AppendLine(":");
                }
                else
                {
                    sb.Append(": ");
                }

                Visit(kv.Value);
            }

            sb.AppendLine();
            Outdent();
            sb.Append(indent);
            sb.Append("}");

            return node;
        }
コード例 #6
0
ファイル: TsonNodeVisitor.cs プロジェクト: jlyonsmith/Tson
 protected virtual TsonNode VisitRootObject(TsonObjectNodeBase node)
 {
     return node;
 }