Как получить json данные jquery - PullRequest
1 голос
/ 22 апреля 2020

У меня есть структурированные данные (json) на моей странице блога WP. Мне нужно показать пользователям некоторые данные из этого json.

Json выглядит так:

<script data-snippet_id="" type="application/ld+json"> {
"sku":"",
"mpn":"",
"image":"",
"name":"",
"description":"",
"review": {
    "publisher": {
        "url": "", "name": "", "@context": "", "@type": ""
    }
    ,
    "dateModified":"2020-04-08T19:08:17+03:00",
    "author":[ {
        "name": "", "@context": "http:\/\/schema.org", "@type": "Person"
    }
    ],
    "description":"",
    "dateCreated":"",
    "reviewRating": {
        "ratingValue": "4", "@context": "http:\/\/schema.org", "@type": "Rating"
    }
    ,
    "@context":"http:\/\/schema.org",
    "@type":"Review"
}
,
"@context":"http:\/\/schema.org",
"@type":"Product"}</script>

Мне нужно получить ratingValue через jquery, чтобы показать, что для пользователей

я пытаюсь использовать функцию get JSON, но она не работает для меня

$(document).ready(function() { 


            $.getJSON('post', function(emp) { 
                $('#display').html('<p> ratingValue : ' + emp.ratingValue + '</p>'); 

            }); 
    }); 

1 Ответ

0 голосов
/ 22 апреля 2020

Если JSON выводится на страницу с помощью PHP в теге <script>, вам не нужно использовать AJAX для его извлечения. Вы можете просто извлечь text() этого элемента и JSON.parse() it.

Также обратите внимание, что ratingValue вложен в объект review.reviewRating, поэтому метод получения значения должен немного измениться , Попробуйте это:

let json = JSON.parse($('script[data-snippet_id]').text());
$('#display').html('<p>ratingValue: ' + json.review.reviewRating.ratingValue + '</p>');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script data-snippet_id="snip-5e99a87c31435" type="application/ld+json">{"sku":"","mpn":"","image":"","name":"","description":"","review":{"publisher":{"url":"","name":"","@context":"","@type":""},"dateModified":"2020-04-08T19:08:17+03:00","author":[{"name":"","@context":"http://schema.org","@type":"Person"}],"description":"","dateCreated":"","reviewRating":{"ratingValue":"4","@context":"http://schema.org","@type":"Rating"},"@context":"http://schema.org","@type":"Review"},"@context":"http://schema.org","@type":"Product"}</script>
<div id="display"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...