public string ToJson(List <ScriptObject> allTableObj) { Console.WriteLine("2222Im here!!!!!!!!!!!!!!!"); StringBuilder builder = new StringBuilder(); builder.Append("{"); bool first = true; foreach (KeyValuePair <object, ScriptObject> pair in m_listObject) { if (pair.Value is ScriptFunction) { continue; } if (first) { first = false; } else { builder.Append(","); } builder.Append("\""); builder.Append(pair.Key); builder.Append("\":"); if (pair.Value is ScriptTable && allTableObj.Contains(pair.Value)) { ScriptTable st = pair.Value as ScriptTable; builder.Append("\":Table[").Append(st.Name).Append("]"); continue; } if (pair.Value is ScriptTable) { ScriptTable st = pair.Value as ScriptTable; allTableObj.Add(st); builder.Append(st.ToJson(allTableObj)); } else { builder.Append(pair.Value.ToJson()); } } builder.Append("}"); return(builder.ToString()); }