Example #1
0
        /// <summary></summary>
        /// <param name="args"></param>
        public static void Main(string[] args)
        {
            SimpleJsonUtil _ = new SimpleJsonUtil();

            ReadTest(_);
            WriteTest(_);
        }
Example #2
0
        private static void ReadTest(SimpleJsonUtil _)
        {
            SimpleJson json = _.From(@"
{
    ""key1"":1,
    key2:false,
    key3:true,
    key4:[0.123,123,.123,],
    key5:'""""\u6D4B\u8BD5\r\n123',
    'key6':[,,,],
    key7:{a:[0,1,2,3],b:'foo bar'}
}
");

            assert(json.Type == SimpleJsonType.Object);
            assert(json["key1"].Get <int>() == 1);
            assert(json["key2"].Get <bool>() == false);
            assert(json["key3"].Get <bool>() == true);

            SimpleJson list = json["key4"];

            assert(list.Type == SimpleJsonType.Array);
            assert(list[0].Get <float>() == 0.123f);
            assert(list[1].Get <int>() == 123);
            assert(list[2].Get <float>() == .123f);
            assert(list[3].IsUndefined);

            assert(list[4].IsUndefined);

            string str = json["key5"].Get <string>();

            assert(str == @"""""测试
123");
            list = json["key6"];
            assert(list.Count == 3); // js中[,,,]会返回长度为3的数组
            assert(list[0].IsUndefined);
            assert(list[1].IsUndefined);
            assert(list[2].IsUndefined);

            assert(json.Get <int>("key4[1]") == 123);
            assert(json.Get <int>("key7.a.0") == 0);
            assert(json.Get <int>("key7.a.0") == json.Get <int>("key7.a[0]"));

            Console.WriteLine(string.Join(" , ", json.Keys));
        }
Example #3
0
        private static void WriteTest(SimpleJsonUtil _)
        {
            assert(_.To(_.String(@" ' "" \ , : ")) == @""" ' \"" \\ , : """);
            assert(_.To(_.Array(1, 2, _.Undefined(), 3, _.Undefined())) == "[1,2,null,3]");
            assert(_.To(_.Boolean(false)) == "false");
            assert(_.To(_.Boolean(true)) == "true");
            assert(_.To(_.Null()) == "null");
            assert(_.To(_.Number(100)) == "100");
            assert(_.To(_.Number(0.123f)) == "0.123");
            assert(_.To(_.Object(
                            "foo", "bar",
                            "hello", 111,
                            "world", _.Undefined()
                            )) == @"{""foo"":""bar"",""hello"":111,""world"":null}");
            assert(_.To(_.Undefined()) == "");

            SimpleJson v = _.Value(DateTime.Now);

            assert(v.Type == SimpleJsonType.Unknown);
            assert(_.To(v) == "");

            string jsonstr = _.To(_.Array(
                                      1, 2.3f, 4.5d, 6L,
                                      'c', "string",
                                      _.Object(
                                          "key1", true,
                                          "key2", false,
                                          "key3", null,
                                          "key4", _.Array(true, false, _.Undefined())
                                          ),
                                      _.Undefined()
                                      ));

            Console.WriteLine(jsonstr);

            string jsstrdefine = SimpleJsonUtil.JsStringDefine(jsonstr, true);

            Console.WriteLine(jsstrdefine);
        }