Пример #1
0
        /// <summary>
        /// Make an JSON external form string of this JsonArray. For
        /// compactness, no unnecessary whitespace is added.
        /// </summary>
        /// <remarks>
        /// This method assumes that the data structure is acyclical.
        /// </remarks>

        public override string ToString()
        {
            JsonTextWriter writer = new JsonTextWriter();

            Export(writer);
            return(writer.ToString());
        }
Пример #2
0
        public void Complex()
        {
            const string input = @"{'menu': {
                'header': 'SVG Viewer',
                'items': [
                    {'id': 'Open'},
                    {'id': 'OpenNew', 'label': 'Open New'},
                    null,
                    {'id': 'ZoomIn', 'label': 'Zoom In'},
                    {'id': 'ZoomOut', 'label': 'Zoom Out'},
                    {'id': 'OriginalView', 'label': 'Original View'},
                    null,
                    {'id': 'Quality'},
                    {'id': 'Pause'},
                    {'id': 'Mute'},
                    null,
                    {'id': 'Find', 'label': 'Find...'},
                    {'id': 'FindAgain', 'label': 'Find Again'},
                    {'id': 'Copy'},
                    {'id': 'CopyAgain', 'label': 'Copy Again'},
                    {'id': 'CopySVG', 'label': 'Copy SVG'},
                    {'id': 'ViewSVG', 'label': 'View SVG'},
                    {'id': 'ViewSource', 'label': 'View Source'},
                    {'id': 'SaveAs', 'label': 'Save As'},
                    null,
                    {'id': 'Help'},
                    {'id': 'About', 'label': 'About Adobe CVG Viewer...'}
                ]
            }}";

            JsonTextReader reader = new JsonTextReader(new StringReader(input));
            JsonTextWriter writer = new JsonTextWriter();
            JsonRecorder.Record(reader).Playback(writer);
            Assert.AreEqual("{\"menu\":{\"header\":\"SVG Viewer\",\"items\":[{\"id\":\"Open\"},{\"id\":\"OpenNew\",\"label\":\"Open New\"},null,{\"id\":\"ZoomIn\",\"label\":\"Zoom In\"},{\"id\":\"ZoomOut\",\"label\":\"Zoom Out\"},{\"id\":\"OriginalView\",\"label\":\"Original View\"},null,{\"id\":\"Quality\"},{\"id\":\"Pause\"},{\"id\":\"Mute\"},null,{\"id\":\"Find\",\"label\":\"Find...\"},{\"id\":\"FindAgain\",\"label\":\"Find Again\"},{\"id\":\"Copy\"},{\"id\":\"CopyAgain\",\"label\":\"Copy Again\"},{\"id\":\"CopySVG\",\"label\":\"Copy SVG\"},{\"id\":\"ViewSVG\",\"label\":\"View SVG\"},{\"id\":\"ViewSource\",\"label\":\"View Source\"},{\"id\":\"SaveAs\",\"label\":\"Save As\"},null,{\"id\":\"Help\"},{\"id\":\"About\",\"label\":\"About Adobe CVG Viewer...\"}]}}", writer.ToString());
        }
Пример #3
0
        public void WriteNumber()
        {
            var writer = new JsonTextWriter(new StringWriter());

            writer.WriteNumber(123);
            Assert.AreEqual("[123]", writer.ToString());
        }
Пример #4
0
        public void WriteNull()
        {
            var writer = new JsonTextWriter(new StringWriter());

            writer.WriteNull();
            Assert.AreEqual("[null]", writer.ToString());
        }
Пример #5
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            Response.ContentType = "application/json";

            string programID = Request.QueryString["programID"];
            Program program = uWiMP.TVServer.Programs.GetProgramByProgramId(Convert.ToInt32(programID));
            Channel channel = uWiMP.TVServer.Channels.GetChannelByChannelId(program.IdChannel);

            string timetext = string.Format("<b>{0}-{1}</b><br>", program.StartTime.ToShortTimeString(), program.EndTime.ToShortTimeString());
            string title = program.Title == "" ? GetGlobalResourceObject("uWiMPStrings", "unknown_title").ToString() : program.Title;
            string episodeName = program.EpisodeName == "" ? timetext : timetext + "<b>" + program.EpisodeName + "</b><br>";
            string description = program.Description == "" ? GetGlobalResourceObject("uWiMPStrings", "description_not_found").ToString() : episodeName + program.Description;

            using (JsonTextWriter jw = new JsonTextWriter())
            {
                jw.PrettyPrint = true;
                jw.WriteStartObject();
                jw.WriteMember("title");
                jw.WriteString(title);
                jw.WriteMember("description");
                jw.WriteString(description);
                jw.WriteMember("channel");
                jw.WriteString(channel.DisplayName);
                jw.WriteMember("running");
                jw.WriteBoolean(program.IsRunningAt(DateTime.Now));
                jw.WriteMember("scheduled");
                jw.WriteBoolean(uWiMP.TVServer.Schedules.IsProgramScheduled(program));
                jw.WriteEndObject();

                Response.Write(jw.ToString());
            }
        }
Пример #6
0
        static void WriteString(string expected, string value)
        {
            var writer = new JsonTextWriter(new StringWriter());

            writer.WriteString(value);
            Assert.AreEqual(expected, writer.ToString());
        }
Пример #7
0
        public void WriteFalseBoolean()
        {
            var writer = new JsonTextWriter(new StringWriter());

            writer.WriteBoolean(false);
            Assert.AreEqual("[false]", writer.ToString());
        }
Пример #8
0
        static string WriteValue(object value)
        {
            var writer = new JsonTextWriter(new StringWriter());

            JsonConvert.Export(value, writer);
            return(writer.ToString());
        }
Пример #9
0
        public void WriteEmptyArray()
        {
            var writer = new JsonTextWriter(new StringWriter());

            writer.WriteStringArray();
            Assert.AreEqual("[]", writer.ToString());
        }
Пример #10
0
        public void WriteArray()
        {
            var writer = new JsonTextWriter(new StringWriter());

            writer.WriteStringArray(new object[] { 123, "Hello \"Old\" World", true });
            Assert.AreEqual("[\"123\",\"Hello \\\"Old\\\" World\",\"True\"]", writer.ToString());
        }
Пример #11
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            Response.ContentType = "application/json";

            string programID = Request.QueryString["programID"];
            string recordOption = Request.QueryString["option"];
            bool success;

            if (User.IsInRole("recorder"))
            {
                success = uWiMP.TVServer.Recordings.RecordProgramById(Convert.ToInt32(programID), (Recordings.RecordingType)Convert.ToInt32(recordOption));
            }
            else
            {
                success = false;
            }

            using (JsonTextWriter jw = new JsonTextWriter())
            {
                jw.PrettyPrint = true;
                jw.WriteStartObject();
                jw.WriteMember("result");
                jw.WriteBoolean(success);
                jw.WriteEndObject();

                Response.Write(jw.ToString());
            }
        }
Пример #12
0
        public void PrettyPrinting()
        {
            JsonTextWriter writer = new JsonTextWriter();

            writer.PrettyPrint = true;
            writer.WriteFromReader(new JsonTextReader(new StringReader("{'menu':{'id':'file','value':'File:','popup':{'menuitem':[{'value':'New','onclick':'CreateNewDoc()'},{'value':'Open','onclick':'OpenDoc()'},{'value':'Close','onclick':'CloseDoc()'}]}}}")));
            Assert.AreEqual(RewriteLines(@"{ 
    ""menu"": { 
        ""id"": ""file"",
        ""value"": ""File:"",
        ""popup"": { 
            ""menuitem"": [ { 
                ""value"": ""New"",
                ""onclick"": ""CreateNewDoc()""
            }, { 
                ""value"": ""Open"",
                ""onclick"": ""OpenDoc()""
            }, { 
                ""value"": ""Close"",
                ""onclick"": ""CloseDoc()""
            } ]
        }
    }
}"), writer.ToString() + Environment.NewLine);
        }
Пример #13
0
        public void WriteTrueBoolean()
        {
            var writer = new JsonTextWriter(new StringWriter());

            writer.WriteBoolean(true);
            Assert.AreEqual("[true]", writer.ToString());
        }
Пример #14
0
        public void PrettyPrinting()
        {
            var writer = new JsonTextWriter()
            {
                PrettyPrint = true
            };

            writer.WriteFromReader(new JsonTextReader(new StringReader("{'menu':{'id':'file','value':'File:','popup':{'menuitem':[{'value':'New','onclick':'CreateNewDoc()'},{'value':'Open','onclick':'OpenDoc()'},{'value':'Close','onclick':'CloseDoc()'}]}}}")));
            Assert.AreEqual(RewriteLines(string.Empty
                                         + "{ \n"
                                         + "    \"menu\": { \n"
                                         + "        \"id\": \"file\",\n"
                                         + "        \"value\": \"File:\",\n"
                                         + "        \"popup\": { \n"
                                         + "            \"menuitem\": [ { \n"
                                         + "                \"value\": \"New\",\n"
                                         + "                \"onclick\": \"CreateNewDoc()\"\n"
                                         + "            }, { \n"
                                         + "                \"value\": \"Open\",\n"
                                         + "                \"onclick\": \"OpenDoc()\"\n"
                                         + "            }, { \n"
                                         + "                \"value\": \"Close\",\n"
                                         + "                \"onclick\": \"CloseDoc()\"\n"
                                         + "            } ]\n"
                                         + "        }\n"
                                         + "    }\n"
                                         + "}\n"), writer.ToString() + Environment.NewLine);
        }
Пример #15
0
        public void WriteEmptyObject()
        {
            var writer = new JsonTextWriter(new StringWriter());

            writer.WriteStartObject();
            writer.WriteEndObject();
            Assert.AreEqual("{}", writer.ToString());
        }
 public void String()
 {
     JsonRecorder recorder = new JsonRecorder();
     recorder.WriteString("Hello World");
     JsonTextWriter writer = new JsonTextWriter();
     recorder.Playback(writer);
     Assert.AreEqual("\"Hello World\"", writer.ToString());
 }
 public void WriteBoolean()
 {
     JsonTextWriter writer = new JsonTextWriter(new StringWriter());
     writer.WriteBoolean(true);
     Assert.AreEqual("true", writer.ToString());
     
     writer = new JsonTextWriter(new StringWriter());
     writer.WriteBoolean(false);
     Assert.AreEqual("false", writer.ToString());
 }
Пример #18
0
        public void String()
        {
            var recorder = new JsonRecorder();

            recorder.WriteString("Hello World");
            var writer = new JsonTextWriter();

            recorder.Playback(writer);
            Assert.AreEqual("[\"Hello World\"]", writer.ToString());
        }
Пример #19
0
        static internal string ReturnBoolean(bool value)
        {
            JsonTextWriter jw = new JsonTextWriter();
            jw.PrettyPrint = true;
            jw.WriteStartObject();
            jw.WriteMember("result");
            jw.WriteBoolean(value);
            jw.WriteEndObject();

            return jw.ToString();
        }
Пример #20
0
        /// <summary>
        /// Make an JSON external form string of this JsonArray. For
        /// compactness, no unnecessary whitespace is added.
        /// </summary>
        /// <remarks>
        /// This method assumes that the data structure is acyclical.
        /// </remarks>

        public override string ToString()
        {
            string result = null;

            using (JsonTextWriter writer = new JsonTextWriter())
            {
                Export(writer);
                result = writer.ToString();
            }
            return(result);
        }
Пример #21
0
        public void WriteObject()
        {
            var writer = new JsonTextWriter(new StringWriter());

            writer.WriteStartObject();
            writer.WriteMember("Name");
            writer.WriteString("John Doe");
            writer.WriteMember("Salary");
            writer.WriteNumber(123456789);
            writer.WriteEndObject();
            Assert.AreEqual("{\"Name\":\"John Doe\",\"Salary\":123456789}", writer.ToString());
        }
Пример #22
0
    public string GetUserUnitRelations(string userId, string type)
    {
        cPos.Model.LoggingSessionInfo loggingSessionInfo = new cPos.Model.LoggingSessionInfo();
        var customerService = new CustomerService();

        CustomerUserInfo user = new CustomerUserInfo();

        user = customerService.GetCustomerUserInfoByMobileUser(userId);

        string content = string.Empty;

        Jayrock.Json.JsonTextWriter writer = new Jayrock.Json.JsonTextWriter();
        Jayrock.Json.Conversion.JsonConvert.Export(user, writer);
        content = writer.ToString();
        return(content);
    }
Пример #23
0
 private static string objectToJson(object obj)
 {
     if (obj is System.ValueType || obj is string)//认为是值类型
     {
         if (obj != null)
         {
             return(obj.ToString());
         }
         else
         {
             return("");
         }
     }
     else
     {
         Jayrock.Json.JsonTextWriter writer = new Jayrock.Json.JsonTextWriter();
         Jayrock.Json.Conversion.JsonConvert.Export(enableJson(obj), writer);
         string str = writer.ToString();
         return(str);
     }
 }
Пример #24
0
 public void PrettyPrinting()
 {
     JsonTextWriter writer = new JsonTextWriter();
     writer.PrettyPrint = true;
     writer.WriteFromReader(new JsonTextReader(new StringReader("{'menu':{'id':'file','value':'File:','popup':{'menuitem':[{'value':'New','onclick':'CreateNewDoc()'},{'value':'Open','onclick':'OpenDoc()'},{'value':'Close','onclick':'CloseDoc()'}]}}}")));
     Assert.AreEqual(RewriteLines(@"{
     ""menu"": {
     ""id"": ""file"",
     ""value"": ""File:"",
     ""popup"": {
     ""menuitem"": [ {
         ""value"": ""New"",
         ""onclick"": ""CreateNewDoc()""
     }, {
         ""value"": ""Open"",
         ""onclick"": ""OpenDoc()""
     }, {
         ""value"": ""Close"",
         ""onclick"": ""CloseDoc()""
     } ]
     }
     }
     }"), writer.ToString() + Environment.NewLine);
 }
Пример #25
0
 public void Blank()
 {
     JsonTextWriter writer = new JsonTextWriter(new StringWriter());
     Assert.AreEqual(string.Empty, writer.ToString());
 }
 public void WriteNullValue()
 {
     JsonTextWriter writer = new JsonTextWriter(new StringWriter());
     writer.WriteValue(JNull.Value);
     Assert.AreEqual("null", writer.ToString());
 }
Пример #27
0
        public void Complex()
        {
            const string input = @"{'menu': {
                'header': 'SVG Viewer',
                'items': [
                    {'id': 'Open'},
                    {'id': 'OpenNew', 'label': 'Open New'},
                    null,
                    {'id': 'ZoomIn', 'label': 'Zoom In'},
                    {'id': 'ZoomOut', 'label': 'Zoom Out'},
                    {'id': 'OriginalView', 'label': 'Original View'},
                    null,
                    {'id': 'Quality'},
                    {'id': 'Pause'},
                    {'id': 'Mute'},
                    null,
                    {'id': 'Find', 'label': 'Find...'},
                    {'id': 'FindAgain', 'label': 'Find Again'},
                    {'id': 'Copy'},
                    {'id': 'CopyAgain', 'label': 'Copy Again'},
                    {'id': 'CopySVG', 'label': 'Copy SVG'},
                    {'id': 'ViewSVG', 'label': 'View SVG'},
                    {'id': 'ViewSource', 'label': 'View Source'},
                    {'id': 'SaveAs', 'label': 'Save As'},
                    null,
                    {'id': 'Help'},
                    {'id': 'About', 'label': 'About Adobe CVG Viewer...'}
                ]
            }}";

            var reader = new JsonTextReader(new StringReader(input));
            var writer = new JsonTextWriter();

            JsonRecorder.Record(reader).Playback(writer);
            Assert.AreEqual("{\"menu\":{\"header\":\"SVG Viewer\",\"items\":[{\"id\":\"Open\"},{\"id\":\"OpenNew\",\"label\":\"Open New\"},null,{\"id\":\"ZoomIn\",\"label\":\"Zoom In\"},{\"id\":\"ZoomOut\",\"label\":\"Zoom Out\"},{\"id\":\"OriginalView\",\"label\":\"Original View\"},null,{\"id\":\"Quality\"},{\"id\":\"Pause\"},{\"id\":\"Mute\"},null,{\"id\":\"Find\",\"label\":\"Find...\"},{\"id\":\"FindAgain\",\"label\":\"Find Again\"},{\"id\":\"Copy\"},{\"id\":\"CopyAgain\",\"label\":\"Copy Again\"},{\"id\":\"CopySVG\",\"label\":\"Copy SVG\"},{\"id\":\"ViewSVG\",\"label\":\"View SVG\"},{\"id\":\"ViewSource\",\"label\":\"View Source\"},{\"id\":\"SaveAs\",\"label\":\"Save As\"},null,{\"id\":\"Help\"},{\"id\":\"About\",\"label\":\"About Adobe CVG Viewer...\"}]}}", writer.ToString());
        }
        protected override void ProcessRequest()
        {
            string httpMethod = Request.RequestType;

            if (!CaselessString.Equals(httpMethod, "GET") &&
                !CaselessString.Equals(httpMethod, "HEAD"))
            {
                throw new JsonRpcException(string.Format("HTTP {0} is not supported for RPC execution. Use HTTP GET or HEAD only.", httpMethod));
            }

            string callback = Mask.NullString(Request.QueryString["jsonp"]);
            bool padded = callback.Length > 0;
            
            //
            // The response type depends on whether JSONP (JSON with 
            // Padding) is in effect or not.
            //

            Response.ContentType = padded ? "text/javascript" : "application/json";
            
            //
            // Validate that the JSONP callback method conforms to the 
            // allowed syntax. If not, issue a client-side exception
            // that will certainly help to bring problem to light, even if
            // a little too aggressively.
            //
            
            if (padded)
            {
                if (!_jsonpex.IsMatch(callback))
                {
                    Response.Write("throw new Error('Invalid JSONP callback parameter value.');");
                    Response.End();
                }
            }
            
            //
            // Convert the query string into a call object.
            //

            JsonWriter writer = new JsonTextWriter();
            
            writer.WriteStartObject();
            
            writer.WriteMember("id");
            writer.WriteNumber(-1);
            
            writer.WriteMember("method");
            
            string methodName = Mask.NullString(Request.PathInfo);
            
            if (methodName.Length == 0)
            {
                writer.WriteNull();
            }
            else
            {
                //
                // If the method name contains periods then we replace it
                // with dashes to mean the one and same thing. This is
                // done to provide dashes as an alternative to some periods
                // since some web servers may block requests (for security
                // reasons) if a path component of the URL contains more
                // than one period.
                //
                
                writer.WriteString(methodName.Substring(1).Replace('-', '.'));
            }
            
            writer.WriteMember("params");
            NameValueCollection query = new NameValueCollection(Request.QueryString);
            query.Remove(string.Empty);
            JsonConvert.Export(Request.QueryString, writer);
            
            writer.WriteEndObject();
            
            //
            // Delegate rest of the work to JsonRpcDispatcher.
            //

            JsonRpcDispatcher dispatcher = new JsonRpcDispatcher(Service);
            using (new JsonRpcDispatchScope(dispatcher, Context))
            {
                dispatcher.RequireIdempotency = true;

                if (padded)
                {
                    //
                    // For JSONP, see details here:
                    // http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/
                    //

                    Response.Write(callback);
                    Response.Write('(');
                }

                dispatcher.Process(new StringReader(writer.ToString()), Response.Output);

                if (padded)
                    Response.Write(')');
            }
        }
Пример #29
0
        public void WriteFromReader()
        {
            JsonTextReader reader = new JsonTextReader(new StringReader(@"
                { 'menu': {
                    'id': 'file',
                    'value': 'File:',
                    'popup': {
                      'menuitem': [
                        {'value': 'New', 'onclick': 'CreateNewDoc()'},
                        {'value': 'Open', 'onclick': 'OpenDoc()'},
                        {'value': 'Close', 'onclick': 'CloseDoc()'}
                      ]
                    }
                  }
                }"));

            JsonTextWriter writer = new JsonTextWriter();
            writer.WriteFromReader(reader);
            Assert.AreEqual("{\"menu\":{\"id\":\"file\",\"value\":\"File:\",\"popup\":{\"menuitem\":[{\"value\":\"New\",\"onclick\":\"CreateNewDoc()\"},{\"value\":\"Open\",\"onclick\":\"OpenDoc()\"},{\"value\":\"Close\",\"onclick\":\"CloseDoc()\"}]}}}", writer.ToString());
        }
Пример #30
0
 public void WriteEmptyObject()
 {
     JsonTextWriter writer = new JsonTextWriter(new StringWriter());
     writer.WriteStartObject();
     writer.WriteEndObject();
     Assert.AreEqual("{}", writer.ToString());
 }
Пример #31
0
        static internal string ConvertRequestToJson(uWiMP.TVServer.MPClient.Request request)
        {
            JsonTextWriter jw = new JsonTextWriter();
            jw.PrettyPrint = true;
            jw.WriteStartObject();
            jw.WriteMember("action");
            jw.WriteString(request.Action);
            jw.WriteMember("filter");
            jw.WriteString(request.Filter);
            jw.WriteMember("value");
            jw.WriteString(request.Value);
            jw.WriteMember("start");
            jw.WriteString(request.Start.ToString());
            jw.WriteMember("pagesize");
            jw.WriteString(request.PageSize.ToString());
            jw.WriteMember("shuffle");
            jw.WriteBoolean(request.Shuffle);
            jw.WriteMember("enqueue");
            jw.WriteBoolean(request.Enqueue);
            jw.WriteMember("tracks");
            jw.WriteString(request.Tracks);
            jw.WriteEndObject();

            return jw.ToString();
        }
Пример #32
0
        protected override void ProcessRequest()
        {
            string httpMethod = Request.RequestType;

            if (!CaselessString.Equals(httpMethod, "GET") &&
                !CaselessString.Equals(httpMethod, "HEAD"))
            {
                throw new JsonRpcException(string.Format("HTTP {0} is not supported for RPC execution. Use HTTP GET or HEAD only.", httpMethod));
            }

            //
            // Response will be plain text, though it would have been nice to
            // be more specific, like text/json.
            //

            Response.ContentType = "text/plain";

            //
            // Convert the query string into a call object.
            //

            JsonWriter writer = new JsonTextWriter();

            writer.WriteStartObject();

            writer.WriteMember("id");
            writer.WriteNumber(-1);

            writer.WriteMember("method");

            string methodName = Mask.NullString(Request.PathInfo);

            if (methodName.Length == 0)
            {
                writer.WriteNull();
            }
            else
            {
                //
                // If the method name contains periods then we replace it
                // with dashes to mean the one and same thing. This is
                // done to provide dashes as an alternative to some periods
                // since some web servers may block requests (for security
                // reasons) if a path component of the URL contains more
                // than one period.
                //

                writer.WriteString(methodName.Substring(1).Replace('-', '.'));
            }

            writer.WriteMember("params");
            NameValueCollection query = new NameValueCollection(Request.QueryString);
            query.Remove(string.Empty);
            JsonConvert.Export(Request.QueryString, writer);

            writer.WriteEndObject();

            //
            // Delegate rest of the work to JsonRpcDispatcher.
            //

            JsonRpcDispatcher dispatcher = new JsonRpcDispatcher(Service);

            dispatcher.RequireIdempotency = true;

            if (HttpRequestSecurity.IsLocal(Request))
                dispatcher.SetLocalExecution();

            dispatcher.Process(new StringReader(writer.ToString()), Response.Output);
        }
Пример #33
0
        public void WriteFromReader()
        {
            var reader = new JsonTextReader(new StringReader(@"
                { 'menu': {
                    'id': 'file',
                    'value': 'File:',
                    'popup': {
                      'menuitem': [
                        {'value': 'New', 'onclick': 'CreateNewDoc()'},
                        {'value': 'Open', 'onclick': 'OpenDoc()'},
                        {'value': 'Close', 'onclick': 'CloseDoc()'}
                      ]
                    }
                  }
                }"));

            var writer = new JsonTextWriter();

            writer.WriteFromReader(reader);
            Assert.AreEqual("{\"menu\":{\"id\":\"file\",\"value\":\"File:\",\"popup\":{\"menuitem\":[{\"value\":\"New\",\"onclick\":\"CreateNewDoc()\"},{\"value\":\"Open\",\"onclick\":\"OpenDoc()\"},{\"value\":\"Close\",\"onclick\":\"CloseDoc()\"}]}}}", writer.ToString());
        }
Пример #34
0
        public void Blank()
        {
            var writer = new JsonTextWriter(new StringWriter());

            Assert.AreEqual(string.Empty, writer.ToString());
        }
        public int SubscribeDailyGroupStatistics()
        {
            int nReqID = GetUniqueReqID();

            foreach (int groupId in m_groupIds)
            {
                Jayrock.Json.JsonTextWriter jsonWriter = new Jayrock.Json.JsonTextWriter();
                jsonWriter.WriteStartObject();
                jsonWriter.WriteMember("version");
                jsonWriter.WriteNumber(1);
                jsonWriter.WriteMember("topic");
                jsonWriter.WriteString("contact-center");
                jsonWriter.WriteMember("request-id");
                jsonWriter.WriteNumber(nReqID);
                jsonWriter.WriteMember("message");
                jsonWriter.WriteString("subscribe-events");
                jsonWriter.WriteMember("subscribe");
                jsonWriter.WriteStartArray();
                jsonWriter.WriteStartArray();
                jsonWriter.WriteString("ecc");
                jsonWriter.WriteString("daily-group-stats");
                jsonWriter.WriteStartArray();
                jsonWriter.WriteString(groupId.ToString());
                jsonWriter.WriteEndArray();
                jsonWriter.WriteEndArray();
                jsonWriter.WriteEndArray();
                jsonWriter.WriteEndObject();

                if (!SendRequest(jsonWriter.ToString()))
                    return -1;
            }
            return nReqID;
        }
Пример #36
0
 public void WriteArray()
 {
     JsonTextWriter writer = new JsonTextWriter(new StringWriter());
     writer.WriteStringArray(new object[] { 123, "Hello \"Old\" World", true });
     Assert.AreEqual("[\"123\",\"Hello \\\"Old\\\" World\",\"True\"]", writer.ToString());
 }
Пример #37
0
 public void WriteNull()
 {
     JsonTextWriter writer = new JsonTextWriter(new StringWriter());
     writer.WriteNull();
     Assert.AreEqual("[null]", writer.ToString());
 }
Пример #38
0
 public void WriteEmptyArray()
 {
     JsonTextWriter writer = new JsonTextWriter(new StringWriter());
     writer.WriteStringArray(new string[0]);
     Assert.AreEqual("[]", writer.ToString());
 }
Пример #39
0
 public void WriteNumber()
 {
     JsonTextWriter writer = new JsonTextWriter(new StringWriter());
     writer.WriteNumber(123);
     Assert.AreEqual("[123]", writer.ToString());
 }
Пример #40
0
        // Return error code
        public int Post(string url, JsonTextWriter json)
        {
            WebRequest request = WebRequest.Create (serverURL+url);

              request.Method = "POST";

            json.AutoComplete();

            string text = json.ToString();

            Log.Write("Request: ");
            Log.WriteLine (text.ToString()+"\n");

            json.Close();

              byte[] postdata = System.Text.Encoding.ASCII.GetBytes (text);

            request.ContentLength = postdata.Length;

            // Wait one second when 60th RPC call is made during minute
            if (Interlocked.Read(ref throttle) == 60)
            {
                if (onMessage != null && severity >= 6)
                    onMessage(this,"[{0}] Throttling...", DateTime.Now);
                while (Interlocked.Read(ref throttle) == 60)
                    Thread.Sleep(1000);
            }

            if (timer.Enabled) Interlocked.Increment(ref throttle);

            try {
                Stream stream = request.GetRequestStream ();

              	stream.Write (postdata, 0, postdata.Length);
              	stream.Close ();
            } catch (System.Net.WebException ex) {
                if (onMessage != null && severity >= 3) onMessage(this,ex.Message);
                return -1;
            }

            if (onMessage != null && severity >= 7)
                onMessage(this,"\n[{0}] Connecting...",DateTime.Now);

            try {
              	WebResponse response = request.GetResponse ();
                ProcessResponse(response);
                if (onServerStatus != null) onServerStatus(this,new ServerStatusEventArgs());
            } catch (System.Net.WebException ex) {
                if (Regex.IsMatch(ex.Response.ContentType,"json-rpc")) {
                  WebResponse response = ex.Response;
                    ProcessResponse(response);
                    ServerErrorEventArgs args =
                        new ServerErrorEventArgs(r.error.code,r.error.data,r.error.message);
                    if (onServerError != null) onServerError(this,args);
                    return r.error.code;
                } else {
                    if (onMessage != null && severity >= 3) onMessage(this,ex.Message);
                    return -1;
                }
            }
            return 0;
        }
Пример #41
0
 public void WriteObject()
 {
     JsonTextWriter writer = new JsonTextWriter(new StringWriter());
     writer.WriteStartObject();
     writer.WriteMember("Name");
     writer.WriteString("John Doe");
     writer.WriteMember("Salary");
     writer.WriteNumber(123456789);
     writer.WriteEndObject();
     Assert.AreEqual("{\"Name\":\"John Doe\",\"Salary\":123456789}", writer.ToString());
 }
Пример #42
0
        /// <summary>
        /// Make an JSON external form string of this JsonArray. For
        /// compactness, no unnecessary whitespace is added.
        /// </summary>
        /// <remarks>
        /// This method assumes that the data structure is acyclical.
        /// </remarks>

        public override string ToString()
        {
            JsonTextWriter writer = new JsonTextWriter();
            ExportContext context = new ExportContext();
            context.Export(this, writer);
            return writer.ToString();
        }
Пример #43
0
 private static void WriteString(string expected, string value)
 {
     JsonTextWriter writer = new JsonTextWriter(new StringWriter());
     writer.WriteString(value);
     Assert.AreEqual(expected, writer.ToString());
 }
Пример #44
0
 public static string GetJsonString(object obj)
 {
     Jayrock.Json.JsonTextWriter writer = new Jayrock.Json.JsonTextWriter();
     Jayrock.Json.Conversion.JsonConvert.Export(obj, writer);
     return(writer.ToString());
 }
Пример #45
0
 private static string WriteValue(object value)
 {
     JsonTextWriter writer = new JsonTextWriter(new StringWriter());
     JsonConvert.Export(value, writer);
     return writer.ToString();
 }
Пример #46
0
        public JsonWsp.Response CallMethod(string methodname, JsonObject args, Dictionary<String, String> cookies = null, Dictionary<String, String> headers = null)
        {
            JsonObject req_dict = new JsonObject();
            req_dict.Add("methodname",methodname);
            req_dict.Add("type","jsonwsp/request");
            req_dict.Add("args",args);
            JsonWriter json_req_writer = new JsonTextWriter();
            req_dict.Export(json_req_writer);

            Dictionary<String, String> cookieList = m_cookieList;
            if (cookies != null)
            {
                foreach (String key in cookies.Keys)
                {
                    cookieList[key] = cookies[key];
                }
            }

            Dictionary<String, String> headerList = m_headerList;
            if (headers != null)
            {
                foreach (String key in headers.Keys)
                {
                    headerList[key] = headers[key];
                }
            }

            string content_type = "application/json; charset=utf-8";
            JsonWsp.Response jsonwsp_response = SendRequest(m_service_url, json_req_writer.ToString(),content_type, cookieList, headerList);
            // Convert response text
            return jsonwsp_response;
        }
 private static string WriteValue(object value)
 {
     JsonTextWriter writer = new JsonTextWriter(new StringWriter());
     writer.WriteValue(value);
     return writer.ToString();
 }
        internal bool Authenticate()
        {
            Jayrock.Json.JsonTextWriter jsonWriter = new Jayrock.Json.JsonTextWriter();
            jsonWriter.WriteStartObject();
            jsonWriter.WriteMember("version");
            jsonWriter.WriteNumber(1);
            jsonWriter.WriteMember("topic");
            jsonWriter.WriteString("contact-center");
            jsonWriter.WriteMember("request-id");
            jsonWriter.WriteNumber(GetUniqueReqID());
            jsonWriter.WriteMember("message");
            jsonWriter.WriteString("authenticate");
            jsonWriter.WriteMember("user");
            jsonWriter.WriteString(strAdapterUserName);
            jsonWriter.WriteMember("password");
            jsonWriter.WriteString(strAdapterPassword);
            jsonWriter.WriteEndObject();

            if (!SendRequest(jsonWriter.ToString()))
                return false;

            return ReceiveResponse("authenticate");
        }
Пример #49
0
        private string Post(string url, JsonTextWriter json)
        {
            while (rpcCount > 50)
            { }//This creates the wait time until rpc count is reset.
            if (url == null) throw new Exception("URL is not assigned a value!");

            WebRequest request = WebRequest.Create(serverURL + url);
            request.Method = "POST";
            json.AutoComplete();
            string text = json.ToString();
            WriteStringToLog("request");
            WriteStringToLog(text);
//            log.WriteLine("Request");
//
            //Log.Write("Request: ");
            //Log.WriteLine(text.ToString() + "\n");

            json.Close();
            try
            {
            // Create a request using a URL that can receive a post. 
           // WebRequest request = WebRequest.Create("http://www.contoso.com/PostAccepter.aspx ");
            // Set the Method property of the request to POST.
            //request.Method = "POST";
            // Create POST data and convert it to a byte array.
            string postData = text;
            byte[] byteArray = Encoding.UTF8.GetBytes(postData);
            // Set the ContentType property of the WebRequest.
            request.ContentType = "application/x-www-form-urlencoded";
            // Set the ContentLength property of the WebRequest.
            request.ContentLength = byteArray.Length;
            // Get the request stream.
            Stream dataStream = request.GetRequestStream();
            // Write the data to the request stream.
            dataStream.Write(byteArray, 0, byteArray.Length);
            // Close the Stream object.
            dataStream.Close();
            // Get the response.
            WebResponse response = request.GetResponse();
                // Display the status.
            Console.WriteLine(((HttpWebResponse)response).StatusDescription);
            // Get the stream containing content returned by the server.
            dataStream = response.GetResponseStream();
            // Open the stream using a StreamReader for easy access.
            StreamReader reader = new StreamReader(dataStream);
            // Read the content.
            string responseFromServer = reader.ReadToEnd();
            // Display the content.
            //Console.WriteLine(responseFromServer);
            //Console.ReadKey();
            // Clean up the streams.
            WriteStringToLog("response");
            WriteStringToLog(responseFromServer);
           
            reader.Close();
            dataStream.Close();
            response.Close();
            rpcCount++;

            if (ServerResponseEvent != null)  //deserializes the server response and passes it out as an event.
            {
                JavaScriptSerializer js = new JavaScriptSerializer();  
                Response r = js.Deserialize<Response>(responseFromServer);
                if (r.id == 101)
                {
                    sessionID = r.result.session_id;
                    Console.WriteLine(sessionID);
                }

                ServerResponseEvent(this, r);
            }
            //log.WriteLine("Response");
            WriteStringToLog("Response");
            //log.WriteLine(responseFromServer);
            WriteStringToLog(responseFromServer);
            return responseFromServer;
            }
            catch
            {
                WriteStringToLog("Post function failure");
                //log.WriteLine("Post function failure");
                //log.Close();
                string failure = "failure";
                return failure;
            }

        }
Пример #50
0
 /// <summary>
 /// Overridden to return a JSON formatted object as a string.
 /// </summary>
 
 public override string ToString()
 {
     JsonTextWriter writer = new JsonTextWriter();
     Format(writer);
     return writer.ToString();
 }
Пример #51
0
        private async Task<int> PostAsync(string url, JsonTextWriter json)
        {
            while (rpcCount > 50)
            { }//This creates the wait time until rpc count is reset.
            string server = serverURL + url;
            json.AutoComplete();
            string jsonToSend = json.ToString();
            //if (jsonToSend == null)
               // MessageBox.Show("json error " + jsonToSend);
            WriteStringToLog("request");
            WriteStringToLog(jsonToSend);
            var httpClient = new HttpClient();
            var response = await httpClient.PostAsync(server, new StringContent(jsonToSend));
            //var response = await httpClient.PostAsync(server, new StringContent(jsonToSend));
            //response.EnsureSuccessStatusCode();
            string responseFromServer = await response.Content.ReadAsStringAsync();
            WriteStringToLog("response");
            WriteStringToLog(responseFromServer);
            
            if (ServerResponseEvent != null)  //deserializes the server response and passes it out as an event.
            {
                JavaScriptSerializer js = new JavaScriptSerializer();
                Response r = js.Deserialize<Response>(responseFromServer);
                if (r.id == 101)
                {
                    sessionID = r.result.session_id;
                    //Console.WriteLine(sessionID);
                }

                ServerResponseEvent(this, r);
            }
            return 1;
        }