Я впервые работаю с очень длинными метаданными в ответе API. Я хотел бы покопаться в метаданных и вытащить только image_url. Мне интересно, есть ли более простой способ сделать это, чем соединить эту чрезвычайно длинную строку несколько раз. В этом примере это метаданные:
"metadata": "{\"id\":4647,\"name\":\"Pancake\",\"generation\":10,\"created_at\":\"2017-11-24T09:35:05.000Z\",\"birthday\":\"2017-11-24T00:00:00.000Z\",\"image_url\":\"https://img.cryptokitties.co/0x06012c8cf97bead5deae237070f9587f8e7a266d/4647.svg\",\"image_url_cdn\":\"https://img.cn.cryptokitties.co/0x06012c8cf97bead5deae237070f9587f8e7a266d/4647.svg\",\"color\":\"mintgreen\",\"kitty_type\":null,\"is_fancy\": .... etc
Мне нужна только часть очень длинной строки метаданных для image_url, которая является «https://img.cryptokitties.co/0x06012c8cf97bead5deae237070f9587f8e7a266d/4647.svg»
Любые предложения о том, что является наиболее эффективным способом достижения этого?
Я попробовал решение Как мы можем извлечь определенную часть строки из длинной строки?, но у меня есть много объектов в моем ответе json, поэтому мне нужно будет перебрать все и использовать цикл while. Это казалось слишком сложным.
Вы можете использовать JSON.parse()
в строке метаданных, чтобы получить объект JavaScript. После этого вы можете просто проиндексировать объект с помощью клавиши image_url
.
Пример:
const metadata = JSON.parse(response['metadata'])
const imageUrl = metadata['image_url'];
Пожалуйста, отметьте это как ответ, если это решит вашу проблему, спасибо!