CerealBox.ConvertDynamic.ToJson C# (CSharp) Méthode

ToJson() public static méthode

public static ToJson ( object>.IDictionary dictionary, string objectName = null ) : string
dictionary object>.IDictionary
objectName string
Résultat string
        public static string ToJson(IDictionary<string, object> dictionary, string objectName = null)
        {
            if (!string.IsNullOrWhiteSpace(objectName))
                objectName = "{{\"{0}\":".Fmt(objectName);
            var stringBuilder = new StringBuilder(objectName);
            for (var i = 0; i < dictionary.Count; i++)
            {
                var kvp = dictionary.ElementAt(i);
                if (i == 0) stringBuilder.Append("{");
                if (kvp.Value is IDictionary<string, object>)
                {
                    stringBuilder.Append("\"{0}\":".Fmt(kvp.Key));
                    stringBuilder.Append(ToJson((IDictionary<string, object>)kvp.Value));
                }
                else if (kvp.Value is dynamic[])
                {
                    stringBuilder.Append("\"{0}\":[".Fmt(kvp.Key));
                    foreach (var dyn in (dynamic[])kvp.Value)
                    {
                        stringBuilder.Append(ToJson(dyn));
                    }
                    stringBuilder.Append("],");
                }
                else
                {
                    stringBuilder.Append("\"{0}\":{1}".Fmt(kvp.Key, JsonSerializer.SerializeToString(kvp.Value)));
                    stringBuilder.Append(i < dictionary.Count - 1 ? "," : "");
                }
                if (i == dictionary.Count - 1) stringBuilder.Append("}");
            }
            if (!string.IsNullOrWhiteSpace(objectName))
                stringBuilder.Append("}");
            return stringBuilder.ToString().Replace("}{", "},{").Replace("}\"", "},\"");
        }
ConvertDynamic