示例#1
0
        public void TestSerializeAndDeserialize()
        {
            JSonSampleClass o1 = new JSonSampleClass("Paweł", 30, 1001.1);
            JSonSampleClass d1 = new JSonSampleClass();

            Assert.AreNotEqual(o1, d1, "Can't be equal!");

            writer.Write(o1);
            var reader = new JSonReader(writer.ToString());
            var result = reader.ReadAsJSonObject();

            d1.Read(result);

            Assert.IsTrue(o1.Equals(d1), "Object is not deserialized correctly!");
        }
示例#2
0
        /// <summary>
        /// Gets string representation of this object.
        /// </summary>
        public override string ToString()
        {
            IJSonWriter output = new JSonWriter(true);

            output.Write(_jsonResponse);
            return(output.ToString());
        }
示例#3
0
        /// <summary>
        /// Reuqests all the update status of the given Rayz
        /// </summary>
        /// <param name="rayzIds"> List of the Rayz to get the updates for </param>
        public async Task <IJSonObject> GetMultiCounter(List <String> rayzIds)
        {
            try
            {
                var writer = new JSonWriter(true);
                var reader = new JSonReader();

                writer.WriteObjectBegin();
                writer.WriteMember("userId", _deviceId);
                writer.WriteMember("rayzIds");
                writer.Write(rayzIds.ToArray());
                writer.WriteObjectEnd();

                var json = new StringContent(writer.ToString());
                json.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");

                var response = await _client.PostAsync(new Uri(ServerBaseUri, "/rayz/multicounter"), json);

                var cr = CheckResponse(response);
                if (cr != null)
                {
                    var creply = reader.ReadAsJSonObject(cr);
                    return(creply);
                }

                var r = await response.Content.ReadAsStringAsync();

                var reply = reader.ReadAsJSonObject(r);
                return(reply);
            }
            catch (Exception)
            {
                return(null);
            }
        }
示例#4
0
        public void WriteAnObjectWithSomeItems()
        {
            var o = JSonMutableObject.CreateDictionary();

            o.SetValue("Name", "Paweł");
            o.SetValue("age", 12);
            var currencies = o.SetArray("currencies");

            currencies.SetValue("PLN");
            currencies.SetValue("EUR");
            currencies.SetValue("USD");
            currencies.SetValue("XKG");

            writer.Write(o);

            Console.WriteLine(writer);
            Assert.AreNotEqual("{}", writer.ToString(), "Not expected an empty object here!");
        }
示例#5
0
        void LogDataReceived(object sender, BayeuxConnectionEventArgs e)
        {
            IJSonWriter output = new JSonWriter(true);

            output.Write(e.Message);

            Console.WriteLine("Response: {0}", output);
            Console.WriteLine();
        }
示例#6
0
        public string ToString(string format)
        {
            bool indent = JSonObjectConverter.GetIndentAndVerifyToStringFormat(format);

            using (var writer = new JSonWriter(indent))
            {
                writer.CompactEnumerables = format == JSonObjectConverter.CompactEnumerables;

                writer.Write(_data);
                return(writer.ToString());
            }
        }
示例#7
0
        public void ParseAdvancedStructure()
        {
            var jsonText    = LoadTestInputFile("advanced.json");
            var watchReader = Stopwatch.StartNew();
            var reader      = new JSonReader(jsonText);
            var result      = reader.ReadAsJSonObject();

            watchReader.Stop();

            var watchWriter = Stopwatch.StartNew();
            var writer      = new JSonWriter(true);

            writer.Write(result);
            watchWriter.Stop();
            Console.WriteLine("Parsing taken: {0}", watchReader.Elapsed);
            Console.WriteLine("Serializing taken: {0}", watchWriter.Elapsed);
            Console.WriteLine("{0}", writer.ToString());

            Assert.IsNotNull(result);
        }
示例#8
0
        public void TestReadWriteAbstractArrays()
        {
            JSonWriter writer = new JSonWriter();

            string[] data1 = { "123456", "78910" };
            string[] data2 = { "A", "B", "C" };

            var container = new ArrayContainingClass(data1, data2);

            writer.Write(container);

            Console.WriteLine("JSON:");
            Console.WriteLine(writer.ToString());

            var reader = new JSonReader(writer.ToString());

            var readContainer = reader.ReadAsJSonObject().ToObjectValue <ArrayContainingClass>();

            Assert.IsNotNull(readContainer);
            Assert.IsNotNull(readContainer.Data1);
            Assert.IsNotNull(readContainer.Data2);
            Assert.AreEqual(2, readContainer.Data1.Length);
            Assert.AreEqual(3, readContainer.Data2.Length);
        }
 public void WriteArrayOfString()
 {
     writer.Indent = false;
     writer.Write(new string[] { "small", "medium", "large", "huge" });
 }