Мне нужно проанализировать некоторые данные в теге script. Первая проблема заключается в том, что на странице есть несколько тегов сценариев без идентификаторов или классов. Тот, который мне нужен, выглядит так:
<script>
window.runParams = {
data: {
"priceModule":{
"maxActivityAmount":{
"currency":"USD",
"formatedAmount":"US $28.71",
"value":28.71 ***VALUE TO IGNORE***
},
"maxAmount":{
"currency":"USD",
"formatedAmount":"US $52.20",
"value":52.2 ***VALUE TO IGNORE***
},
"minActivityAmount":{
"currency":"USD",
"formatedAmount":"US $6.83",
"value":6.83 ***THIS IS THE VALUE I NEED***
},
"minAmount":{
"currency":"USD",
"formatedAmount":"US $12.42",
"value":12.42 ***THIS IS THE VALUE I NEED***
},
},
"freightItemModule":{
"commitDay":"60",
"company":"Standard Shipping",
"currency":"USD",
"discount":100,
"displayType":"deliveryTime",
"features":{
},
"freightAmount":{
"currency":"USD",
"formatedAmount":"US $0.00",
"value":0.0 ***VALUE TO IGNORE***
},
"fullMailLine":false,
"hbaService":false,
"i18nMap":{
},
"id":0,
"name":"FreightItemModule",
"notification":"",
"sendGoodsCountry":"CN",
"sendGoodsCountryFullName":"China",
"serviceName":"CAINIAO_STANDARD",
"standardFreightAmount":{
"currency":"USD",
"formatedAmount":"US $13.12",
"value":13.12 ***VALUE TO IGNORE***
},
"time":"17-25",
"tracking":true
},
"skuModule":{
"categoryId":200001392,
"features":{
},"
forcePromiseWarrantyJson":"{
}",
"hasSizeInfo":false,
"hasSkuProperty":true,
"id":0,
"name":"SKUModule",
"productSKUPropertyList":[{
"isShowTypeColor":false,
"order":1,
"showType":"none",
"showTypeColor":false,
"skuPropertyId":14,
"skuPropertyName":"????",
"skuActivityAmount":{
"currency":"USD",
"formatedAmount":"US $12.38",
"value":12.38 ***VALUE TO IGNORE***
},
"skuAmount":{
"currency":"USD",
"formatedAmount":"US $22.51",
"value":22.51 ***VALUE TO IGNORE***
},
"skuCalPrice":"22.51",
"skuMultiCurrencyCalPrice":"22.51",
"skuMultiCurrencyDisplayPrice":"22.51"
}
},
},
};
var GaData = {
pageType: "product",
productIds: "32955439786",
totalValue: "US $6.83"
};
var PAGE_TIMING = {
pageType: 'gloDetail'
};
</script>
Мне нужно проанализировать [value]
внутри [data]
-> [priceModule]
-> [minActivityAmount]
& [minAmount]
и сохранить их под двумя отдельными переменными: activity_amount = 6.83
и amount = 12.42
. Как вы можете видеть, есть несколько «значений» в нескольких «модулях». Поэтому анализ их с помощью регулярных выражений не кажется идеальным. Может быть, есть лучший способ извлечь эти значения из сценария? Заранее спасибо.