Para mi proyecto de rastreador, necesito obtener detalles del producto del objeto JavaScript.
¿Cómo puedo obtener efectivamente los detalles del objeto desde el siguiente JavaScript? Yo uso XPath y HTMLAgilityPack.
<script type="text/javascript">
var product = {
identifier: '2051189775', //PRODUCT ID
fn: 'Fit- Whiskered Dark Wash Skirt',
category: ['sale'],
brand: 'Brand Name',
price: '22.90', // this would be the discount price
amount: '31.80', // this would be the original price
currency: 'USD',
//List can me even more.
};
</script>
No he intentado obtener detalles de objetos JavaScript antes. Estaba obteniendo detalles directamente de HTML para otros rastreadores.
Dado que el paquete de agilidad HTML no evalúa ninguno de los contenidos del HTML, el código javascript solo debe considerarse texto simple. Utilice el método SelectSingleNode
para encontrar la pieza de Javascript, luego simplemente tome el InnerHtml para acceder a los contenidos.
Encuentre un analizador de C # javascript (por ejemplo, Iron JS ) o escriba un analizador utilizando técnicas de manipulación de texto estándar ( String.*
O Regex
para extraer los bits que Regex
.
Una vez que tenga los bits entre los corchetes, puede analizarlos utilizando un analizador antes mencionado o una biblioteca como Json.NET , ya que las piezas entre los corchetes parecen ser válidas json.