public void Add(object key, object value, bool parse) { if (!(key is string)) { throw new Exception("添加进列表的KEY必须为字符串"); } this.m_keychange = true; if (value is CLSVData) { this.m_ht_data.Add(key, value); } else if (parse && (value is string)) { this.m_ht_data.Add(key, (string)value); } else if ((value is ArrayList) && !(value is CLSArrayList)) { ArrayList list = (ArrayList)value; CLSArrayList list2 = new CLSArrayList(); foreach (object obj2 in list) { list2.Add(obj2); } this.m_ht_data.Add(key, list2); } else { this.m_ht_data.Add(key, new CLSVData(this, value)); } }
private string GetJsonValueStr(CLSVData value) { StringBuilder builder = new StringBuilder(); if (value.ValueIsNull) { builder.Append("null"); } else if (CLSVData.Helper_CCDecimal(value.Value)) { builder.Append(value.ValueDecimal); } else if (value.Value is bool) { builder.Append(this.GetJsonValueStr_Boolean(value.ValueBool)); } else if (value.Value is string) { builder.Append(this.GetJsonValueStr_String(value.Value as string)); } else if (value.Value is DateTime) { builder.Append(this.GetJsonValueStr_String(value.Value.ToString())); } else if (value.Value is CLSHashtable) { builder.Append(this.GetJsonValueStr_CLSHashtable(value.Value as CLSHashtable)); } else if (value.Value is CLSArrayList) { builder.Append(this.GetJsonValueStr_Array(value.Value as CLSArrayList)); } else if (value.Value is ArrayList) { CLSArrayList arr = new CLSArrayList(); foreach (object obj2 in value.ValueArrayList) { arr.Add(obj2); } builder.Append(this.GetJsonValueStr_Array(arr)); } else if (value.Value is IEnumerable) { CLSArrayList list2 = new CLSArrayList(); foreach (object obj3 in (IEnumerable)value.Value) { list2.Add(obj3); } builder.Append(this.GetJsonValueStr_Array(list2)); } else { builder.Append(this.GetJsonValueStr_Default(value.Value)); } return(builder.ToString()); }