예제 #1
0
        public static TwitterReverseGeocodeResponse Parse(JsonObject obj)
        {
            if (obj == null)
            {
                return(null);
            }

            JsonObject query  = obj.GetObject("query");
            JsonObject result = obj.GetObject("result");

            if (query == null)
            {
                throw new JsonParseException("Object \"query\" not found.");
            }
            if (result == null)
            {
                throw new JsonParseException("Object \"result\" not found.");
            }

            JsonObject parameters = query.GetObject("params");

            if (parameters == null)
            {
                throw new JsonParseException("Object \"params\" not found.");
            }

            return(new TwitterReverseGeocodeResponse {
                JsonObject = obj,
                Granularity = TwitterUtils.ParseGranularity(parameters.GetString("granularity")),
                Coordinates = parameters.GetObject("coordinates", TwitterCoordinates.Parse),
                Url = query.GetString("url"),
                Type = query.GetString("type"),
                Places = result.GetArray("places", TwitterPlace.Parse)
            });
        }