Beispiel #1
0
        public string ToPropertyArrayJson(Formatting formatting)
        {
            String returnValue = null;

            if (this._properties.Count > 0)
            {
                var sb = new StringBuilder();
                using (var sw = new StringWriter(sb))
                {
                    using (var writer = new JsonTextWriter(sw))
                    {
                        writer.Formatting = formatting;

                        // https://mixpanel.com/docs/api-documentation/http-specification-insert-data
                        //   {
                        //        "ip": "123.123.123.123",  // resevered
                        //        "token": "e3bc4100330c35722740fb8c6f5abddc",  // resevered
                        //        "time": 1245613885,  //reserved
                        //        "action": "play"
                        //    }

                        writer.WriteStartObject();
                        foreach (var key in this._properties.Keys.ToArray().OrderBy(o => o))
                        {
                            writer.WritePropertyName(key);
                            writer.CastAndWriteValue(_properties[key]);
                        }
                        writer.WriteEnd();
                    }
                    returnValue = sb.ToString();
                }
            }

            return(returnValue);
        }