Beispiel #1
0
    public void State()
    {
      using (JsonWriter jsonWriter = new JsonTokenWriter())
      {
        Assert.AreEqual(WriteState.Start, jsonWriter.WriteState);

        jsonWriter.WriteStartObject();
        Assert.AreEqual(WriteState.Object, jsonWriter.WriteState);

        jsonWriter.WritePropertyName("CPU");
        Assert.AreEqual(WriteState.Property, jsonWriter.WriteState);

        jsonWriter.WriteValue("Intel");
        Assert.AreEqual(WriteState.Object, jsonWriter.WriteState);

        jsonWriter.WritePropertyName("Drives");
        Assert.AreEqual(WriteState.Property, jsonWriter.WriteState);

        jsonWriter.WriteStartArray();
        Assert.AreEqual(WriteState.Array, jsonWriter.WriteState);

        jsonWriter.WriteValue("DVD read/writer");
        Assert.AreEqual(WriteState.Array, jsonWriter.WriteState);

        jsonWriter.WriteEnd();
        Assert.AreEqual(WriteState.Object, jsonWriter.WriteState);

        jsonWriter.WriteEndObject();
        Assert.AreEqual(WriteState.Start, jsonWriter.WriteState);
      }
    }
Beispiel #2
0
        internal static JToken FromObjectInternal(object o)
        {
            ValidationUtils.ArgumentNotNull(o, "o");

            JsonSerializer jsonSerializer = new JsonSerializer();

            JToken token;

            using (JsonTokenWriter jsonWriter = new JsonTokenWriter())
            {
                jsonSerializer.Serialize(jsonWriter, o);
                token = jsonWriter.Token;
            }

            return(token);
        }
Beispiel #3
0
    public void ValueFormatting()
    {
      JContainer root;
      using (JsonTokenWriter jsonWriter = new JsonTokenWriter())
      {
        jsonWriter.WriteStartArray();
        jsonWriter.WriteValue('@');
        jsonWriter.WriteValue("\r\n\t\f\b?{\\r\\n\"\'");
        jsonWriter.WriteValue(true);
        jsonWriter.WriteValue(10);
        jsonWriter.WriteValue(10.99);
        jsonWriter.WriteValue(0.99);
        jsonWriter.WriteValue(0.000000000000000001d);
        jsonWriter.WriteValue(0.000000000000000001m);
        jsonWriter.WriteValue(null);
        jsonWriter.WriteValue("This is a string.");
        jsonWriter.WriteNull();
        jsonWriter.WriteUndefined();
        jsonWriter.WriteEndArray();

        root = jsonWriter.Token;
      }

      Assert.IsInstanceOfType(typeof(JArray), root);
      Assert.AreEqual(12, root.Children().Count());
      Assert.AreEqual("@", (string)root[0]);
      Assert.AreEqual("\r\n\t\f\b?{\\r\\n\"\'", (string)root[1]);
      Assert.AreEqual(true, (bool)root[2]);
      Assert.AreEqual(10, (int)root[3]);
      Assert.AreEqual(10.99, (double)root[4]);
      Assert.AreEqual(0.99, (double)root[5]);
      Assert.AreEqual(0.000000000000000001d, (double)root[6]);
      Assert.AreEqual(0.000000000000000001m, (decimal)root[7]);
      Assert.AreEqual(string.Empty, (string)root[8]);
      Assert.AreEqual("This is a string.", (string)root[9]);
      Assert.AreEqual(null, ((JValue)root[10]).Value);
    }
Beispiel #4
0
        private JToken CreateJToken(JsonReader reader)
        {
            JToken token;
              using (JsonTokenWriter writer = new JsonTokenWriter())
              {
            writer.WriteToken(reader);
            token = writer.Token;
              }

              return token;
        }
Beispiel #5
0
        public void DateTimeOffset()
        {
            List<DateTimeOffset> testDates = new List<DateTimeOffset> {
            new DateTimeOffset(new DateTime(100, 1, 1, 1, 1, 1, DateTimeKind.Utc)),
            new DateTimeOffset(2000, 1, 1, 1, 1, 1, TimeSpan.Zero),
            new DateTimeOffset(2000, 1, 1, 1, 1, 1, TimeSpan.FromHours(13)),
            new DateTimeOffset(2000, 1, 1, 1, 1, 1, TimeSpan.FromHours(-3.5)),
              };

              JsonSerializer jsonSerializer = new JsonSerializer();

              JsonTokenWriter jsonWriter;
              using (jsonWriter = new JsonTokenWriter())
              {
            jsonSerializer.Serialize(jsonWriter, testDates);
              }

              Assert.AreEqual(4, jsonWriter.Token.Children().Count());
        }