Beispiel #1
0
        private static JsonObject ParseANTLRStream(ANTLRStringStream inputStream)
        {
            var lexer     = new JsonLexer(inputStream);
            var tokens    = new CommonTokenStream(lexer);
            var parser    = new JsonParser(tokens);
            var parseTree = parser.@object().Tree;
            var stream    = new CommonTreeNodeStream(parseTree);
            var tree      = new JsonTree(stream);

            var @object = tree.@object();

            Contract.Assume(@object != null);
            return(new JsonObject(JsonValueTypes.Interpret(@object)));
        }
Beispiel #2
0
        public override JsonValue GetValue(object value)
        {
            var other      = (System.Collections.IEnumerable)value;
            var listOfKvps = new List <KeyValuePair <string, object> >();

            foreach (var item in other)
            {
                var key = item.GetType().GetProperty("Key").GetValue(item, null).ToString();
                var val = item.GetType().GetProperty("Value").GetValue(item, null);

                listOfKvps.Add(new KeyValuePair <string, object>(key, val));
            }
            return(new JsonObject(JsonValueTypes.Interpret(listOfKvps)));
        }
Beispiel #3
0
        public static JsonArray Parse(string s)
        {
            var inputStream = new ANTLRStringStream(s);
            var lexer       = new JsonLexer(inputStream);
            var tokens      = new CommonTokenStream(lexer);
            var parser      = new JsonParser(tokens);
            var parseTree   = parser.array().Tree;
            var stream      = new CommonTreeNodeStream(parseTree);
            var tree        = new JsonTree(stream);

            var @object = tree.array();

            Contract.Assume(@object != null);
            return(new JsonArray(JsonValueTypes.Interpret(@object)));
        }
Beispiel #4
0
 public override bool TrySetMember(SetMemberBinder binder, object value)
 {
     this[binder.Name] = value is JsonValue ? (JsonValue)value : JsonValueTypes.Interpret(value);
     return(true);
 }
Beispiel #5
0
 public override JsonValue GetValue(object value)
 {
     Contract.Assume(value != null);
     return(new JsonArray(JsonValueTypes.Interpret((object[])value)));
 }