Example #1
0
        private static GoogleImageResult?FormatImageObject(JsonElement element)
        {
            var data = element.ElementAtOrDefault(1);

            if (data.ValueKind != JsonValueKind.Array)
            {
                return(null);
            }

            var main = data.ElementAtOrDefault(3);
            var info = data.ElementAtOrDefault(9);

            if (info.ValueKind != JsonValueKind.Object)
            {
                info = data.ElementAtOrDefault(11);
            }

            string url = main
                         .FirstOrDefault()
                         .GetStringOrDefault();

            string title = info
                           .GetPropertyOrDefault("2003")
                           .ElementAtOrDefault(3)
                           .GetStringOrDefault();

            int width = main
                        .ElementAtOrDefault(2)
                        .GetInt32OrDefault();

            int height = main
                         .ElementAtOrDefault(1)
                         .GetInt32OrDefault();

            string displayUrl = info
                                .GetPropertyOrDefault("2003")
                                .ElementAtOrDefault(17)
                                .GetStringOrDefault();

            string sourceUrl = info
                               .GetPropertyOrDefault("2003")
                               .ElementAtOrDefault(2)
                               .GetStringOrDefault();

            string thumbnailUrl = data
                                  .ElementAtOrDefault(2)
                                  .FirstOrDefault()
                                  .GetStringOrDefault();

            return(new GoogleImageResult(url, title, width, height, displayUrl, sourceUrl, thumbnailUrl));
        }