无法正确访问 JSON 数据

Cannot access the JSON data correctly

https://www.swarovski.com.tr/PhysicalStore/GetStoreJsonByCityId?cityId=183

我无法从该站点访问数据:

{"Success":true,"Data":"[{\"id\":10,\"storeId\":\"\",\"storeName\":\"Swarovski Sankopark AVM\",\"storeLat\":\"37.063253000000\",\"storeLang\":\"37.361040099997\",\"storeAddress\":\"Sanko Park AVM Zemin Kat Sarigüllük Mah. Rafet Isitmen Cad. Şehitkamil/Gaziantep\",\"storePhone\":\"0 342 338 68 78\",\"storeEmail\":\"\",\"storeWorkHours\":\"10:00-20:00\",\"storeWorkHoursWeekend\":null,\"storeCover\":\"https://img-swarovski.mncdn.com/Content/Images/Thumbs/0036549.jpeg\",\"storesPhotos\":[\"https://via.placeholder.com/900x600.jpg?text=STORE+1+IMAGE+1\",\"https://via.placeholder.com/900x600.jpg?text=STORE+1+IMAGE+2\",\"https://via.placeholder.com/900x600.jpg?text=STORE+1+IMAGE+3\"],\"countryId\":77,\"cityId\":183}]"}

因为粗括号 x[Data]str 我尝试此代码时的值:

import requests
import re

city_ids = {"ankara":"162","antalya":"163","aydın":"165","bursa":"172","izmir":"191","istanbul":"190","eskişehir":"182",
"gaziantep":"183",
"trabzon":"211", }

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}

for i in city_ids:
    #print(city_ids[i])
    req = requests.get("https://www.swarovski.com.tr/PhysicalStore/GetStoreJsonByCityId?cityId="+city_ids[i],headers=headers)
    data = req.json
    print(type(data["Data"]))

输出:

<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>

我完全卡住了...

这是因为您需要将数据体解析为json。
您可以使用 python.

中的 json 库来完成
import requests
import re
import json

city_ids = {"ankara":"162","antalya":"163","aydın":"165","bursa":"172","izmir":"191","istanbul":"190","eskişehir":"182",
"gaziantep":"183",
"trabzon":"211", }

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}

for i in city_ids:
    req = requests.get("https://www.swarovski.com.tr/PhysicalStore/GetStoreJsonByCityId?cityId="+city_ids[i],headers=headers)
    data = req.json()
    parsed = json.loads(data["Data"])
    print(parsed)