Ejemplo n.º 1
0
        public virtual void Serialize(StreamWriter writer, int nLevel = -1, bool bSpace = false)
        {
            if (this.Type == JsonValueType.JsonValueType_Object || this.Type == JsonValueType.JsonValueType_Array)
            {
                return;
            }

            if (this.Type == JsonValueType.JsonValueType_String)
            {
                if (nLevel == -1 || !bSpace)
                {
                    writer.Write("\"{0}\"", Value);
                }
                else
                {
                    writer.Write("{0}\"{1}\"", JsonNode.GenerateSpace(nLevel * 2), Value);
                }
            }
            else
            {
                if (nLevel == -1 || !bSpace)
                {
                    writer.Write(Value);
                }
                else
                {
                    writer.Write("{0}\"{1}\"", JsonNode.GenerateSpace(nLevel * 2), Value);
                }
            }
        }
Ejemplo n.º 2
0
        public override void Serialize(StreamWriter writer, int nLevel = -1, bool bSpace = false)
        {
            if (m_dicValus.Count > 0)
            {
                if (nLevel == -1)
                {
                    writer.Write("{");

                    int nIndex = 0;
                    foreach (KeyValuePair <string, JsonNode> v in m_dicValus)
                    {
                        writer.Write("\"{0}\":", new object[] { v.Key });
                        v.Value.Serialize(writer);
                        if (nIndex != m_dicValus.Count - 1)
                        {
                            writer.Write(",");
                        }

                        nIndex++;
                    }

                    writer.Write("}");
                }
                else
                {
                    string strSpace = JsonNode.GenerateSpace(nLevel * 2);
                    if (bSpace)
                    {
                        writer.Write(strSpace);
                    }
                    writer.Write("{\n");

                    string strSubSpace = JsonNode.GenerateSpace((nLevel + 1) * 2);
                    int    nIndex      = 0;
                    foreach (KeyValuePair <string, JsonNode> v in m_dicValus)
                    {
                        writer.Write("{0}\"{1}\":", new object[] { strSubSpace, v.Key });
                        v.Value.Serialize(writer, nLevel + 1);
                        if (nIndex != m_dicValus.Count - 1)
                        {
                            writer.Write(",\n");
                        }
                        else
                        {
                            writer.Write("\n");
                        }

                        nIndex++;
                    }

                    writer.Write(strSpace);
                    writer.Write("}");
                }
            }
        }
Ejemplo n.º 3
0
        public override void Serialize(StreamWriter writer, int nLevel = -1, bool bSpace = false)
        {
            if (m_lstValue.Count > 0)
            {
                if (nLevel == -1)
                {
                    writer.Write("[");

                    for (int i = 0; i < m_lstValue.Count; ++i)
                    {
                        m_lstValue[i].Serialize(writer);
                        if (i != m_lstValue.Count - 1)
                        {
                            writer.Write(",");
                        }
                    }

                    writer.Write("]");
                }
                else
                {
                    string strSpace = JsonNode.GenerateSpace(nLevel * 2);
                    writer.Write("[\n");

                    for (int i = 0; i < m_lstValue.Count; ++i)
                    {
                        m_lstValue[i].Serialize(writer, nLevel + 1, true);
                        if (i != m_lstValue.Count - 1)
                        {
                            writer.Write(",\n");
                        }
                        else
                        {
                            writer.Write("\n");
                        }
                    }

                    writer.Write("{0}]", new object[] { strSpace });
                }
            }
        }