lJSON-LD Syntax error: value, object or array expected - json

I am just trying to get our events onto google using markup and I am fairly new to all of this so I hope someone can help I have just checked the following and got the error above
<script type="application/ld+json">
{
"#context": "https://schema.org",
"#type": "Event",
"name": “Staunton Harold Sportive”,
"startDate": "2019-05-26T08:00",
"endDate": "2019-05-26T17:00",
"location": {
"#type": "Place",
"name": “Staunton Harold Hall”,
"address": {
"#type": "PostalAddress",
"streetAddress": “Melbourne Road”,
"addressLocality": “Ashby De la Zouch“,
"postalCode": "LE65 1RT",
"addressRegion": “Derbyshire”,
"addressCountry": "UK”
}
},
"image": [
"https://static.wixstatic.com/media/36c4d1_84383c3423f0429b8fe7988a0382dbb0~mv2_d_3905_2194_s_2.png/v1/fill/w_1084,h_608,al_c,usm_0.66_1.00_0.01/Staunton%20Harold%20sportive.png",
],
"description": " 
Fun - 14K
Short - 40K
Medium - 100K
Long - 160K The Staunton Harold Sportive starts from the privately owned, estate in the stunning surroundings of Staunton Harold Hall  estate, providing the perfect backdrop for a fun and enjoyable bike ride.",
"offers": {
"#type": "Offer",
"url": "https://www.triathlon-events.com/staunton-harold-sportive",
"price": “20",
"priceCurrency": “GBP”,
"availability": "https://schema.org/InStock",
"validFrom": "2018-05-26T16:00"
},
“Organizer”: {
"#type": “Organizer”,
"name": “Choose Sports Ltd”
}
}
</script>

It could be because you have curly quotation marks in places instead of straight ones e.g. “Staunton Harold Sportive” needs to have the straight quotations marks as used in "https://schema.org". I'd start by swapping those out and retest. Hope that helps.

Related

"JSON-LD Missing ',' or ']' in array declaration." but the code is the same

I have a blog where we add Schema to each post and what works perfectly and is validated by the SDTT then breaks on a new blog despite the only things changing is the content. I feel like I have been staring at the same 20 lines for hours. Can anyone see what might be different between these two.
Working Structured Data:
<script type="application/ld+json">// <![CDATA[
{
"#context": "https://schema.org",
"#type": "NewsArticle",
"mainEntityOfPage": {
"#type": "WebPage",
"#id": "https://blog.realmanage.com/announcements/for-the-4th-time-in-five-years-realmanage-appears-on-the-inc.-5000"
},
"headline": "For the 4th time in Five Years, RealManage Appears on the Inc.5000",
"image": ["https://blog.realmanage.com/hubfs/Inc%20Announcement.png"
],
"datePublished": "2020-08-31T10:10:00+08:00",
"dateModified": "2020-08-28T02:24:00+08:00",
"author": {
"#type": "Person",
"name": "Amanda Causey"
},
"publisher": {
"#type": "Organization",
"name": "RealManage",
"logo": {
"#type": "ImageObject",
"url": "https://www.realmanage.com/hs-fs/hubfs/Logo/RealManage_Logo_1.png?width=1324&name=RealManage_Logo_1.png"
}
},
"description": "Inc. magazine today revealed that RealManage is No. 4646 on its annual Inc. 5000 list, the most prestigious ranking of the nation’s fastest-growing private companies. The list represents a unique look at the most successful companies within the American economy’s most dynamic segment—its independent small businesses. Intuit, Zappos, Under Armour, Microsoft, Patagonia, and many other well-known names gained their first national exposure as honorees on the Inc. 5000."
}
// ]]>
</script>
Non-working code:
<script type="application/ld+json">// <![CDATA[
{
"#context": "https://schema.org",
"#type": "NewsArticle",
"mainEntityOfPage": {
"#type": "WebPage",
"#id": "https://blog.realmanage.com/creating-a-maintenance-chart-for-your-association-realmanage"
},
"headline": "Creating a Maintenance Chart for Your Association - RealManage",
"image": [
"https://f.hubspotusercontent20.net/hubfs/1849073/AdobeStock_396601443.jpeg”
],
"datePublished": "2021-06-08T09:38:00+08:00",
"dateModified": "2021-06-08T09:38:00+08:00",
"author": {
"#type": "Person",
"name": "Katie Vaughan"
},
"publisher": {
"#type": "Organization",
"name": "RealManage",
"logo": {
"#type": "ImageObject",
"url": "https://www.realmanage.com/hs-fs/hubfs/Logo/RealManage_Logo_1.png"
}
},
"description": "When it comes down to who pays, the smallest dispute can blow into a neighborhood disaster.”
}
// ]]></script>
The problem is that the quote after 396601443.jpeg” is not a standard " but a ”, like those Microsoft Word uses to make a text nicer. And there's another one closer to the end, after "disaster".
Bt the way, you can paste the JSON here and validate it.

Google JSON Review Snippet not validating

I'm using the following JSON to produce a review snippet:
<script type="application/ld+json">
{
"#context": "https://schema.org/",
"#type": "Review",
"name": "Great service from the start.",
"author": {
"#type": "Person",
"name": "Chris Tonich"
},
"reviewBody": "Very thorough...would highly recommend!",
"aggregateRating": {
"#type": "AggregateRating",
"ratingValue": "4.9",
"bestRating": "5",
"ratingCount": "110",
"itemReviewed": {
"#type": "Product",
"image": "https://www.homeintegrity.com.au/wp-content/uploads/2020/12/hi-new-logo2.jpg",
"name": "Pre-Purchase Building Inspections",
"priceRange": "$$",
"telephone": "08 8375 8130",
"address" :{
"#type": "PostalAddress",
"streetAddress": "PO Box 163",
"addressLocality": "Scarborough",
"addressRegion": "WA",
"postalCode": "6019",
"addressCountry": "AU"
}
}
}
}
</script>
The Google Rich Snippet Test says:
Why am I receiving the error when the Review contains aggregateRating which contains itemReviewed?
Why does it say I rated a Review rather than an Item?
Help appreciated.
Your structure is not according to the schema found on https://schema.org/
A Review must contain a field itemReviewed (or be embedded in the object, which is reviewed). (see examples at https://schema.org/Review)
A Review on the other hand must not contain an AggregateRating (see https://schema.org/AggregateRating), because an AggreateRating may only be a sub-node of a Brand, CreativeWork, Event, Offer, Organization, Place, Product, or Service. Note that these types may contain a Review too.
Your structure roughly is as follows:
Review "Great service from the start."
Author "Chris Tonich"
Aggregate rating "4.9"
Product "Pre-Purchase Building Inspections"
Address "6019 - ..."
What you probably want is something along the lines of:
LocalBusiness "Pre-Purchase Building Inspections"
Address "6019 - ..."
Review "Great service from the start."
Author "Chris Tonich"
Aggregate rating "4.9"

I am having an error in Json schema markup for Google indexing for SERP starts

I am setting up schema for rating stars to show up on google search results, I got this json script, It does not have any error when I test the code snippet, But shows an error :
Missing '}' or object member name.
<script type=application/ld+json>{
"#context": "https://schema.org/",
"#type": "Review",
"itemReviewed": {
"#type": "LocalBusiness",
"image": "https://www.rmsdrill.com/wp-content/uploads/2019/01/RMS-Logo-header.png",
"name": "Rms Drill",</p>
<p> "telephone": "(800) 605-1608",
"address" :{
"#type": "PostalAddress",</p>
<p> "addressLocality": "Dallas",
"addressRegion": "TX",
"postalCode": "75219",
"addressCountry": "US"
}
},
"reviewRating": {
"#type": "Rating",
"ratingValue": "4"
},
"name": "Working with Rober Strunks.",
"author": {
"#type": "Person",
"name": "Dr. Jason Kihle"
},
"reviewBody": "After just one season of working with Robert Strunks, it is absolutely clear that he is everything that you want in a professional marching band drill designer. In addition…",
"publisher": {
"#type": "Organization",
"name": "RMS Drill"
}
}</script>
In the future, use this: https://jsonformatter.curiousconcept.com/
{
"#context":"https://schema.org/",
"#type":"Review",
"itemReviewed":{
"#type":"LocalBusiness",
"image":"https://www.rmsdrill.com/wp-content/uploads/2019/01/RMS-Logo-header.png",
"name":"Rms Drill",
"telephone":"(800) 605-1608",
"address":{
"#type":"PostalAddress",
"addressLocality":"Dallas",
"addressRegion":"TX",
"postalCode":"75219",
"addressCountry":"US"
}
},
"reviewRating":{
"#type":"Rating",
"ratingValue":"4"
},
"name":"Working with Rober Strunks.",
"author":{
"#type":"Person",
"name":"Dr. Jason Kihle"
},
"reviewBody":"After just one season of working with Robert Strunks, it is absolutely clear that he is everything that you want in a professional marching band drill designer. In addition…",
"publisher":{
"#type":"Organization",
"name":"RMS Drill"
}
}

Google now Hotel reservation (LodgingReservation) image markup

I'm trying to insert a google now hotel reservation card using lodgingReservation schema in my hotel's confirmation email.
It seems working all, but in my iphone I can't see the hotel image I've insert in the json.
I read all the google documentation but I didn't find a working example with image display of an hotel reservation, only an image of the final result.
Here's an example:
<html>
<head>
<script type=3D"application/ld+json">
{
"#context": "http://schema.org",
"#type": "LodgingReservation",
"reservationNumber": "20161",
"reservationStatus": "http://schema.org/Confirmed",
"underName": {
"#type": "Person",
"name": "Mario Rossi",
"email": "demo#gmail.com"
},
"reservationFor": {
"#type": "LodgingBusiness",
"name": "Hotel Beverly",
"address": {
"#type": "PostalAddress",
"streetAddress": "Viale Portofino 2",
"addressLocality": "Rimini",
"addressRegion": "RN",
"postalCode": "47833",
"addressCountry": "IT"
},
"telephone": "+390541375288",
"contactPoint" : {
"#type" : "ContactPoint",
"telephone" : "+390541375288",
"contactType" : "Reception",
"email" : "info#beverlyhotel.com",
"faxNumber" : "+390541372288"
}
},
"checkinDate": "2016-02-04T12:00:00-08:00",
"checkoutDate": "2016-02-08T10:00:00-08:00"
}
</script>
</head>
<body>
<p>
Google Now card in Gmail test.
</p>
</body>
</html>
I've insert an example url of an image, in google documentation I didn't find any word to explain the usage of the image item (min and max width and height ecc...).
I've used the example of #Franco and here's the google app result and the google calendar result (in calendar I don't have idea where google take the photo...)
After researching more, I came to the conclusion that the Now card will not parse the image in your markup, but will use an image from the hotel's Google + page.
I've conducted a test with Grand Hotel et de Milan and UNA Hotel Cusani (I could not find Hotel Beverly di Rimini anywhere). My markup below (no image property) generated a Now card with an image from the Grand Hotel et de Milan Google + page (1st pic in the photo section):
<script type="application/ld+json">
{
"#context": "http://schema.org",
"#type": "LodgingReservation",
"reservationNumber": "GHM123",
"reservationStatus": "http://schema.org/Confirmed",
"underName": {
"#type": "Person",
"name": "Mario Rossi",
"email": "example#gmail.com"
},
"reservationFor": {
"#type": "LodgingBusiness",
"name": "Grand Hotel et de Milan",
"address": {
"#type": "PostalAddress",
"streetAddress": "Via Alessandro Manzoni, 29",
"addressLocality": "Milano",
"addressRegion": "IT",
"postalCode": "20121",
"addressCountry": "IT"
},
"telephone": "+3902123456789",
"contactPoint" : {
"#type" : "ContactPoint",
"telephone" : "++39 02 723141",
"contactType" : "Reception",
"email" : "info#reception.com"
}
},
"checkinDate": "2016-01-21T12:00:00-08:00",
"checkoutDate": "2016-01-25T10:00:00-08:00"
}
</script>
This is the Now card result on a iPhone 6 (note I also received the same result when using UNA Hotel Cusani):
Update 2/5/16:
I was able to generate a Now card with the Beverly logo which looks it's the "profile" image on the Google + page. I didn't use the image field. Additionally, the image generated in Inbox was a picture from the Google + as well. My test script below with pictures of the results:
<script type="application/ld+json">
{
"#context": "http://schema.org",
"#type": "LodgingReservation",
"reservationNumber": "abcdef123456",
"reservationStatus": "http://schema.org/Confirmed",
"underName": {
"#type": "Person",
"name": "Mario Rossi",
"email": "example#gmail.com"
},
"reservationFor": {
"#type": "LodgingBusiness",
"name": "Hotel Beverly",
"address": {
"#type": "PostalAddress",
"streetAddress": " Viale Portofino, 2",
"addressLocality": "Rimini",
"addressRegion": "RN",
"postalCode": "47924",
"addressCountry": "IT"
},
"telephone": "+3902123456789",
"contactPoint" : {
"#type" : "ContactPoint",
"telephone" : "+3902123456789",
"contactType" : "Reception",
"email" : "info#reception.com",
"faxNumber" : "+3902123456789"
}
},
"checkinDate": "2016-02-04T16:00:00-08:00",
"checkoutDate": "2016-02-06T10:00:00-08:00"
}
</script>

JSON-LD Create Single Review for Person

How would you go about creating a review for a person? For instance if a user, submitted a review that provided both a rating and an associated bit of information about a person's/service provider's quality of service... how should that be coded using JSON-LD? I think the code below is how you would correctly accomplish this but I'm not completely certain. If you have any suggestions, please include code with your input to provide maximum clarity.
Please keep in mind the code below is not for a page that lists all of the ratings but rather a single page that displays only this rating.
Person/Service Single Review:
<script type="application/ld+json">
{
"#context": "http://schema.org/",
"#type": "Review",
"itemReviewed": {
"#type": "Person",
"name": "John Smith", // Person being reviewd
},
"reviewRating": {
"#type": "Rating",
"bestRating": "5",
"ratingValue": "3",
"worstRating": "1"
}
"name": "Excellent Service!",
"author": {
"#type": "Person",
"name": "Bob Smith"
},
"reviewBody": "John provided excellent service!"
}
</script>
Ref: https://developers.google.com/structured-data/rich-snippets/reviews
Apart from the comment and two comma errors this is valid JSON-LD. I wouldn't expect this to show up as a rich snippet though. The page you referenced lists the entitz types for which reviews are supported: "We support reviews and ratings for a wide range of schema.org types, including businesses, products, and different creative works such as books or movies." If possible, I would thus associate the Review to a Service instead (the person can be made the provider of the service).
Here's the snippets with the two minor syntactic issues fixed:
<script type="application/ld+json">
{
"#context": "http://schema.org/",
"#type": "Review",
"itemReviewed": {
"#type": "Person",
"name": "John Smith"
},
"reviewRating": {
"#type": "Rating",
"bestRating": "5",
"ratingValue": "3",
"worstRating": "1"
},
"name": "Excellent Service!",
"author": {
"#type": "Person",
"name": "Bob Smith"
},
"reviewBody": "John provided excellent service!"
}
</script>