标签: json-ld

AngularJS脚本标记JSON-LD

如何application/ld+json script在AngularJS中使用动态构建的JSON对象创建标记.

这就是我需要脚本标签的样子

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Place",
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "40.75",
    "longitude": "73.98"
  },
  "name": "Empire State Building"
}
</script>
Run Code Online (Sandbox Code Playgroud)

我尝试了以下代码,但我无法让它工作:

HTML

<div ng-controller="TestController">
  <script type="application/ld+json">
    {{jsonId|json}}
  </script>
  {{jsonId|json}}
</div>
Run Code Online (Sandbox Code Playgroud)

调节器

var myApp = angular.module('application', []);

myApp.controller('TestController', ['$scope', function($scope) {
  $scope.jsonId = {
    "@context": "http://schema.org",
    "@type": "Place",
    "geo": {
      "@type": "GeoCoordinates",
      "latitude": "40.75",
      "longitude": "73.98"
    },
    "name": "Empire State Building"
  };
}]);
Run Code Online (Sandbox Code Playgroud)

脚本标记内的表达式不会执行.脚本标记外部的表达式正确执行并显示JSON

请看jsfiddle

javascript json angularjs json-ld

17
推荐指数
1
解决办法
3950
查看次数

如何外化json-ld并包含在html doc中

是否可以外化json-ld并将其包含在如下的html文档中:

<script type="text/javascript" src="http://www.example.com/data123.jsonld"></script>
Run Code Online (Sandbox Code Playgroud)

似乎没有关于这个在线的任何文件....

html json json-ld

14
推荐指数
1
解决办法
3031
查看次数

Google SDTT错误:"为http://www.example.com/提供的所有值必须具有相同的域名."

当我从Google文档(下面的代码片段)中复制/粘贴JSON-LD示例时,我在结构化数据测试工具中收到错误:

http://www.your-company-site.com(提供的所有值 http://www.example.com/必须具有相同的域.)

为什么Google自己的文档示例会出错?

Google文档中的代码段:

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Organization",
  "url": "http://www.your-company-site.com",
  "contactPoint": [{
    "@type": "ContactPoint",
    "telephone": "+1-401-555-1212",
    "contactType": "customer service"
  }]
}
</script>
Run Code Online (Sandbox Code Playgroud)

url schema.org json-ld google-rich-snippets

14
推荐指数
4
解决办法
9822
查看次数

将大型RDF/XML文件转换或转换为JSON-LD格式 - 如何?

我需要将这个40MB的RDF/XML文件转换为JSON-LD格式,我只找到了这个根本不起作用的网络工具.当您粘贴40MB的文本时,它会崩溃,当您为其提供文件的URL时,它会说该服务不可用.

从理论上讲耶拿API,也许芝麻应该是能够做到这一点,但我缺少一个起点,对这些系统的知识.有人可以给我一个路线,一个示例或链接到有用的文档,以便将大型RDF/XML转换为JSON-LD吗?

(我对Java,C#或一个工作解决方案感到满意,我不需要在另一种语言/框架中有太多的编程知识).

json rdf json-ld

13
推荐指数
2
解决办法
1万
查看次数

定义JSON-LD @context以加入/拆分值?

我想使用jsonld.js库的expandcompact方法将来自各种源的数据转换为通用格式进行处理.如果我获取源JSON文档,添加一个,然后通过该方法传递它我能够获得我需要的通用格式.@contextexpand

我无法找到解决方案的用例是需要合并多个值时.例如,schema.org定义了PostalAddress一个单独的字段streetAddress,但许多系统将街道地址存储为单独的值(街道号,街道名称,街道方向......).要将传入的数据转换为schema.org格式,我需要一种方法来指示我的@context多个字段以streetAddress正确的顺序组成.

压缩文件

{
    "@context": {
        "displaName": "http://schema.org/name",
        "website": "http://schema.org/homepage",
        "icon": "http://schema.org/image",
        "streetNumber": "http://schema.org/streetAddress"
    },
    "displaName": "John Doe",
    "website": "http://example.com/",
    "icon": "http://example.com/images/test.png",
    "streetNumber": "123",
    "streetName": "Main St",
    "streetDirection": "South"
}
Run Code Online (Sandbox Code Playgroud)

扩展文件

{
   "http://schema.org/name":[
      {
         "@value":"John Doe"
      }
   ],
   "http://schema.org/image":[
      {
         "@value":"http://example.com/images/test.png"
      }
   ],
   "http://schema.org/streetAddress":[
      {
         "@value":"123"
      }
   ],
   "http://schema.org/homepage":[
      {
         "@value":"http://example.com/"
      }
   ]
}
Run Code Online (Sandbox Code Playgroud)

我已经回顾了我能找到的所有JSON-LD规范,并且无法找到任何指示使用分割或连接值的方法@context.

是否有人知道一种方法,以正确的顺序将多个值映射到一个上下文属性,并可能在值之间添加空格.我还需要找到一个反向场景的解决方案,我需要按正确的顺序将一个字段拆分成多个值.

注意:即使我将所有三个属性都映射到streetAddress,数值都将包含在数组中,但不能保证它们的顺序正确.

javascript json schema.org linked-data json-ld

13
推荐指数
1
解决办法
561
查看次数

Gmail电子邮件标记无效

我正在为Parcel Deliveries测试Gmail的电子邮件标记功能,但似乎我无法做到这一点.这是向我发送电子邮件后的电子邮件内容:

Return-Path: <test.email@gmail.com>
Received: from my-pc.local ([my.ip.add.ress])
        by mx.google.com with ESMTPSA id 68sm3737559qgz.8.2015.01.29.06.06.37
        for <test.email@gmail.com>
        (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Thu, 29 Jan 2015 06:06:38 -0800 (PST)
Date: Thu, 29 Jan 2015 11:06:33 -0300
From: "Test Name" <test.email@gmail.com>
To: test.email@gmail.com
Subject: Your package is on its way
Message-ID: <20150129140633.GA18059@my-pc.local>
MIME-Version: 1.0
Content-Type: text/html; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.23 (2014-03-12)

<html>
  <body>
    <script type="application/ld+json">
    {
      "@context": "http://schema.org",
      "@type": "ParcelDelivery",
      "deliveryAddress": {
        "@type": "PostalAddress",
        "streetAddress": "Test Address", …
Run Code Online (Sandbox Code Playgroud)

html email gmail json-ld

12
推荐指数
1
解决办法
2852
查看次数

一个页面中有多个JSON-LD标记组

我可以在同一页面中使用多个JSON-LD组(使用Schema.org)吗?

如果我不能,如何将它们组合在一起?我对语法不太熟悉.

第1组:

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "LocalBusiness",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "3102 Highway 98",
    "addressRegion": "FL",
    "addressLocality": "Mexico Beach",
    "postalCode": "45252",
    "addressCountry": "US",
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "40.75",
    "longitude": "73.98"
  },
  "name": "Beachwalk Beachwear & Giftware",
  "telephone": "850-648-4200",
  "email": "admin@example.com",
  "faxNumber": "860-562-4250",

}
</script>
Run Code Online (Sandbox Code Playgroud)

第2组:

<script type="application/ld+json">
{
    "@context": "http://schema.org",
    "@type": "Organization",
    "url": "http://example.com",
    "name": "My Domain Title",
    "logo": "http://example.com/wp-content/uploads/2015/08/abc.jpg",
    "contactPoint": [
        {
            "@type": "ContactPoint",
            "telephone": "0192-39192130",
            "contactType": "customer service"
        },
        {
            "@type": "ContactPoint", …
Run Code Online (Sandbox Code Playgroud)

html5 schema.org json-ld

12
推荐指数
1
解决办法
2177
查看次数

Safari 解析 JSON-LD 时抛出异常

使用此简单代码创建一个 HTML 文件并在 Safari 中打开它。

<html>
  <head>
    <script type="application/ld+json">
      [
        {
          "@context": "http://schema.org",
          "@type": "Organization",
          "name": "Parqet",
          "url": "https://www.parqet.com/",
          "logo": "https://www.parqet.com/logos/parqet_logo_pos.svg",
          "sameAs": [
            "https://www.facebook.com/parqetcom",
            "https://twitter.com/ParqetApp",
            "https://www.instagram.com/ParqetApp/",
            "https://www.youtube.com/channel/UC4LOcElG8Z73Hvgbbp3m1KQ",
            "https://www.linkedin.com/company/parqet/",
            "https://github.com/tresorone"
          ]
        }
      ]
    </script>
  </head>
  <body>
    test
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

Safari 会产生此错误。

类型错误:未定义不是对象(评估 'r["@context"].toLowerCase')

在此输入图像描述

非常感谢任何有关我们如何解决此问题的见解。在最后一个属性或对象中添加尾随逗号可以消除错误 - 但它不再是有效的 JSON。

safari structured-data json-ld

12
推荐指数
1
解决办法
1451
查看次数

Schema.org以JSON LD格式被谷歌认可,但Facebook像素助手却没有检测到它

我在JSON LD格式中添加了schema.org标签<script>,当我使用Google结构化数据测试工具测试我的页面时,我可以看到我的所有标签.

但是,当我安装Facebook像素助手chrome扩展程序来测试我的页面时,schema.org标签显示为空白.不确定为什么Facebook像素助手无法检测到它.

非常感谢任何帮助.

microdata schema.org json-ld facebook-pixel

11
推荐指数
2
解决办法
6610
查看次数

@vocab在JSON-LD中的用途是什么?与@context的区别是什么?

@vocabJSON-LD中的属性是什么?在我看来,你可以"导入"一个远程词汇表,但这与你能做的不一样@context吗?如果我没错,那么你也可以"导入"远程源@context.那么@vocab和之间的区别在@context哪里?

额外的问题:我可以有一个以上@vocab吗?例如,第一个引用到schema.org,另一个引用到rdfs?

rdf json-ld

10
推荐指数
1
解决办法
1287
查看次数