Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从页面上的所有json ld对象获取属性值的最佳方法是什么?_Javascript_Json Ld - Fatal编程技术网

Javascript 从页面上的所有json ld对象获取属性值的最佳方法是什么?

Javascript 从页面上的所有json ld对象获取属性值的最佳方法是什么?,javascript,json-ld,Javascript,Json Ld,我试图从产品结果页面中提取所有mpn值,其中数据以JSON-LD格式存储。抓住前10个值,这是最理想的方法吗 (function(){ var mpns= document.querySelectorAll('script[type="application/ld+json"]'); var x = []; mpns.forEach( function(value){ var a = JSON.parse(value.innerText).mpn; x

我试图从产品结果页面中提取所有mpn值,其中数据以JSON-LD格式存储。抓住前10个值,这是最理想的方法吗

(function(){
var mpns=   document.querySelectorAll('script[type="application/ld+json"]');
var x = [];
mpns.forEach(
    function(value){
        var a = JSON.parse(value.innerText).mpn;
        x.push(a);
    }
);
return x.slice(0,10);
})();


<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "Product",
  "name": "Executive Anvil",
  "image": "http://www.example.com/anvil_executive.jpg",
  "description": "Sleeker than ACME's Classic Anvil, the Executive Anvil is perfect for the business traveler looking for something to drop from a height.",
  "mpn": "925872",
  "brand": {
    "@type": "Thing",
    "name": "ACME"
   }
  }
 }
</script>
(函数(){
var mpns=document.querySelectorAll('script[type=“application/ld+json”]”);
var x=[];
弗雷奇大学(
函数(值){
var a=JSON.parse(value.innerText).mpn;
x、 推(a);
}
);
返回x.slice(0,10);
})();
{
“@context”:”http://schema.org/",
“@type”:“产品”,
“名称”:“执行砧”,
“图像”:http://www.example.com/anvil_executive.jpg",
“描述”:“比ACME的经典铁砧更光滑,行政铁砧非常适合商务旅行者从高处坠落。”,
“mpn”:“925872”,
“品牌”:{
“@type”:“Thing”,
“名称”:“ACME”
}
}
}

不,这不是个好办法。因为如果
mpns
array iength是1000000,那么如果只需要前10个元素,push的含义是什么


所以试着换成循环吧

不,这不是个好办法。因为如果
mpns
array iength是1000000,那么如果只需要前10个元素,push的含义是什么

因此,请尝试使用循环