{"id":668,"date":"2011-03-19T00:47:57","date_gmt":"2011-03-19T03:47:57","guid":{"rendered":"http:\/\/realnorth.net\/blog\/?p=668"},"modified":"2011-12-16T22:54:13","modified_gmt":"2011-12-17T01:54:13","slug":"json-qml","status":"publish","type":"post","link":"https:\/\/realnorth.net\/blog\/json-qml\/","title":{"rendered":"Consumiendo JSON con QML"},"content":{"rendered":"<p>Hace un tiempo escrib\u00ed sobre lo f\u00e1cil que es <a href=\"http:\/\/realnorth.net\/blog\/consumiendo-xml-con-qml\/\">consumir XML con QML<\/a>, hoy le toca el turno a JSON, consumir JSON con QML requiere un poco mas de trabajo comparado con XML, pero no mucho mas.<\/p>\n<p>Pasemos al c\u00f3digo, lo primero que haremos sera crear un archivo data.js que contendr\u00e1 la l\u00f3gica que poblara al Model con los datos, para este ejemplo vamos a usar el API de Wikileaks para mostrar un listado con los \u00faltimos cables liberados, lo siguiente es agregar el ListModel, el Delegate cuyo c\u00f3digo esta al final y no necesita muchos comentarios, el ListView que mostrara los datos y vamos a disparar la funci\u00f3n getLatestCables() cuando la view se haya cargado.<\/p>\n<h5>main.qml<\/h5>\n<pre>\r\nimport QtQuick 1.0\r\nimport &quot;data.js&quot; as Data\r\n\r\nRectangle {\r\n    width:360\r\n    height:640\r\n\r\n    Component.onCompleted:Data.getLatestCables();\r\n\r\n    ListModel {\r\n        id:cablesModel\r\n    }\r\n\r\n    CablesDelegate {\r\n        id:cablesDelegate\r\n    }\r\n\r\n    Item {\r\n        id:cablesList\r\n        anchors.fill:parent\r\n\r\n        ListView {\r\n            model:cablesModel\r\n            delegate:cablesDelegate\r\n            anchors.fill:parent\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<p>La magia que no es mucha, pasa aqu\u00ed, esto es simple y puro JavaScript, utilizaremos un XMLHttpRequest para acceder al feed con los datos, luego lo parseamos e iremos agregando uno a uno los datos al Model.<\/p>\n<h5>data.js<\/h5>\n<pre>\r\nfunction getLatestCables(){\r\n    var xhr = new XMLHttpRequest;\r\n    xhr.open(&quot;GET&quot;, &quot;http:\/\/api.leakfeed.com\/v1\/cables\/latest.json&quot;);\r\n    xhr.onreadystatechange = function() {\r\n        if (xhr.readyState == XMLHttpRequest.DONE) {\r\n            var a = JSON.parse(xhr.responseText);\r\n            for (var c in a) {\r\n                var i = a[c];\r\n                cablesModel.append({identifier: i.identifier, classification: i.classification, office: i.office, subject: i.subject});\r\n            }\r\n        }\r\n    }\r\n    xhr.send();\r\n}\r\n<\/pre>\n<h5>CablesDelegate.qml<\/h5>\n<pre>\r\nimport QtQuick 1.0\r\n\r\nComponent {\r\n\r\n    Rectangle {\r\n        border.color:&quot;#b7b7b7&quot;\r\n        border.width:1\r\n        width:parent.width\r\n        height:cableIdentifier.height + cableOffice.height + cableClass.height + cableSubject.height + 10\r\n        color:&quot;#fff&quot;\r\n\r\n        Item {\r\n            width:parent.width\r\n            height:parent.height\r\n\r\n            Grid {\r\n                rows:4\r\n                width:parent.width\r\n                anchors.verticalCenter:parent.verticalCenter\r\n                anchors.left:parent.left\r\n                anchors.leftMargin:5\r\n                anchors.right:parent.right\r\n                anchors.rightMargin:5\r\n\r\n                Text {\r\n                    id:cableIdentifier\r\n                    text:identifier\r\n                    font.bold:true\r\n                    font.pixelSize:18\r\n                    smooth:true\r\n                    color:&quot;#333&quot;\r\n                }\r\n\r\n                Text {\r\n                    id:cableOffice\r\n                    color:&quot;#0076A3&quot;\r\n                    text:office\r\n                    font.pixelSize:18\r\n                    font.bold:true\r\n                    smooth:true\r\n                }\r\n\r\n                Text {\r\n                    id:cableClass\r\n                    color:&quot;#aa1317&quot;\r\n                    text:classification\r\n                    font.pixelSize:16\r\n                    font.bold:true\r\n                    smooth:true\r\n                }\r\n\r\n                Text {\r\n                    id:cableSubject\r\n                    text:subject\r\n                    font.pixelSize: 14\r\n                    wrapMode:Text.WrapAtWordBoundaryOrAnywhere\r\n                    width:parent.width\r\n                    smooth:true\r\n                    color:&quot;#333&quot;\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<p>Si todo sale bien, al correr la demo deber\u00edamos obtener como resultado algo parecido a los que se ve en la siguiente imagen.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/realnorth.net\/blog\/wp-content\/uploads\/2011\/03\/home-paulo-projects-Qt-JSONSample-main.qml-Qt-QML-Viewer_002.png\" alt=\"JSON &amp; QML\" title=\"JSON &amp; QML\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hace un tiempo escrib\u00ed sobre lo f\u00e1cil que es consumir XML con QML, hoy le toca el turno a JSON, consumir JSON con QML requiere un poco mas de trabajo comparado con XML, pero no mucho mas. Pasemos al c\u00f3digo,&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[23,43,44,46],"class_list":["post-668","post","type-post","status-publish","format-standard","hentry","category-development","tag-json","tag-qml","tag-qt","tag-qt-quick"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Hace un tiempo escrib\u00ed sobre lo f\u00e1cil que es consumir XML con QML, hoy le toca el turno a JSON, consumir JSON con QML requiere un poco mas de trabajo comparado con XML, pero no mucho mas. Pasemos al c\u00f3digo, lo primero que haremos sera crear un archivo data.js que contendr\u00e1 la l\u00f3gica que poblara\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"admin\"\/>\n\t<meta name=\"keywords\" content=\"json,qml,qt,qt quick,development\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/realnorth.net\/blog\/json-qml\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"blog - realnorth |\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Consumiendo JSON con QML - blog - realnorth\" \/>\n\t\t<meta property=\"og:description\" content=\"Hace un tiempo escrib\u00ed sobre lo f\u00e1cil que es consumir XML con QML, hoy le toca el turno a JSON, consumir JSON con QML requiere un poco mas de trabajo comparado con XML, pero no mucho mas. Pasemos al c\u00f3digo, lo primero que haremos sera crear un archivo data.js que contendr\u00e1 la l\u00f3gica que poblara\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/realnorth.net\/blog\/json-qml\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2011-03-19T03:47:57+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2011-12-17T01:54:13+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Consumiendo JSON con QML - blog - realnorth\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Hace un tiempo escrib\u00ed sobre lo f\u00e1cil que es consumir XML con QML, hoy le toca el turno a JSON, consumir JSON con QML requiere un poco mas de trabajo comparado con XML, pero no mucho mas. Pasemos al c\u00f3digo, lo primero que haremos sera crear un archivo data.js que contendr\u00e1 la l\u00f3gica que poblara\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/json-qml\\\/#article\",\"name\":\"Consumiendo JSON con QML - blog - realnorth\",\"headline\":\"Consumiendo JSON con QML\",\"author\":{\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/author\\\/admin\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"http:\\\/\\\/realnorth.net\\\/blog\\\/wp-content\\\/uploads\\\/2011\\\/03\\\/home-paulo-projects-Qt-JSONSample-main.qml-Qt-QML-Viewer_002.png\",\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/json-qml\\\/#articleImage\"},\"datePublished\":\"2011-03-19T00:47:57-03:00\",\"dateModified\":\"2011-12-16T22:54:13-03:00\",\"inLanguage\":\"en-US\",\"commentCount\":5,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/json-qml\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/json-qml\\\/#webpage\"},\"articleSection\":\"Development, JSON, QML, Qt, Qt Quick\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/json-qml\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/realnorth.net\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/category\\\/development\\\/#listItem\",\"name\":\"Development\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/category\\\/development\\\/#listItem\",\"position\":2,\"name\":\"Development\",\"item\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/category\\\/development\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/json-qml\\\/#listItem\",\"name\":\"Consumiendo JSON con QML\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/json-qml\\\/#listItem\",\"position\":3,\"name\":\"Consumiendo JSON con QML\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/category\\\/development\\\/#listItem\",\"name\":\"Development\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/#organization\",\"name\":\"blog - realnorth\",\"url\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/author\\\/admin\\\/#author\",\"url\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/author\\\/admin\\\/\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/json-qml\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/aeb7cc12fb24fd45da6313367c7f27e23f742b893b153d630b8bc132e3745767?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"admin\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/json-qml\\\/#webpage\",\"url\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/json-qml\\\/\",\"name\":\"Consumiendo JSON con QML - blog - realnorth\",\"description\":\"Hace un tiempo escrib\\u00ed sobre lo f\\u00e1cil que es consumir XML con QML, hoy le toca el turno a JSON, consumir JSON con QML requiere un poco mas de trabajo comparado con XML, pero no mucho mas. Pasemos al c\\u00f3digo, lo primero que haremos sera crear un archivo data.js que contendr\\u00e1 la l\\u00f3gica que poblara\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/json-qml\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/author\\\/admin\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/author\\\/admin\\\/#author\"},\"datePublished\":\"2011-03-19T00:47:57-03:00\",\"dateModified\":\"2011-12-16T22:54:13-03:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/\",\"name\":\"blog - realnorth\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/realnorth.net\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Consumiendo JSON con QML - blog - realnorth","description":"Hace un tiempo escrib\u00ed sobre lo f\u00e1cil que es consumir XML con QML, hoy le toca el turno a JSON, consumir JSON con QML requiere un poco mas de trabajo comparado con XML, pero no mucho mas. Pasemos al c\u00f3digo, lo primero que haremos sera crear un archivo data.js que contendr\u00e1 la l\u00f3gica que poblara","canonical_url":"https:\/\/realnorth.net\/blog\/json-qml\/","robots":"max-image-preview:large","keywords":"json,qml,qt,qt quick,development","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/realnorth.net\/blog\/json-qml\/#article","name":"Consumiendo JSON con QML - blog - realnorth","headline":"Consumiendo JSON con QML","author":{"@id":"https:\/\/realnorth.net\/blog\/author\/admin\/#author"},"publisher":{"@id":"https:\/\/realnorth.net\/blog\/#organization"},"image":{"@type":"ImageObject","url":"http:\/\/realnorth.net\/blog\/wp-content\/uploads\/2011\/03\/home-paulo-projects-Qt-JSONSample-main.qml-Qt-QML-Viewer_002.png","@id":"https:\/\/realnorth.net\/blog\/json-qml\/#articleImage"},"datePublished":"2011-03-19T00:47:57-03:00","dateModified":"2011-12-16T22:54:13-03:00","inLanguage":"en-US","commentCount":5,"mainEntityOfPage":{"@id":"https:\/\/realnorth.net\/blog\/json-qml\/#webpage"},"isPartOf":{"@id":"https:\/\/realnorth.net\/blog\/json-qml\/#webpage"},"articleSection":"Development, JSON, QML, Qt, Qt Quick"},{"@type":"BreadcrumbList","@id":"https:\/\/realnorth.net\/blog\/json-qml\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/realnorth.net\/blog#listItem","position":1,"name":"Home","item":"https:\/\/realnorth.net\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/realnorth.net\/blog\/category\/development\/#listItem","name":"Development"}},{"@type":"ListItem","@id":"https:\/\/realnorth.net\/blog\/category\/development\/#listItem","position":2,"name":"Development","item":"https:\/\/realnorth.net\/blog\/category\/development\/","nextItem":{"@type":"ListItem","@id":"https:\/\/realnorth.net\/blog\/json-qml\/#listItem","name":"Consumiendo JSON con QML"},"previousItem":{"@type":"ListItem","@id":"https:\/\/realnorth.net\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/realnorth.net\/blog\/json-qml\/#listItem","position":3,"name":"Consumiendo JSON con QML","previousItem":{"@type":"ListItem","@id":"https:\/\/realnorth.net\/blog\/category\/development\/#listItem","name":"Development"}}]},{"@type":"Organization","@id":"https:\/\/realnorth.net\/blog\/#organization","name":"blog - realnorth","url":"https:\/\/realnorth.net\/blog\/"},{"@type":"Person","@id":"https:\/\/realnorth.net\/blog\/author\/admin\/#author","url":"https:\/\/realnorth.net\/blog\/author\/admin\/","name":"admin","image":{"@type":"ImageObject","@id":"https:\/\/realnorth.net\/blog\/json-qml\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/aeb7cc12fb24fd45da6313367c7f27e23f742b893b153d630b8bc132e3745767?s=96&d=mm&r=g","width":96,"height":96,"caption":"admin"}},{"@type":"WebPage","@id":"https:\/\/realnorth.net\/blog\/json-qml\/#webpage","url":"https:\/\/realnorth.net\/blog\/json-qml\/","name":"Consumiendo JSON con QML - blog - realnorth","description":"Hace un tiempo escrib\u00ed sobre lo f\u00e1cil que es consumir XML con QML, hoy le toca el turno a JSON, consumir JSON con QML requiere un poco mas de trabajo comparado con XML, pero no mucho mas. Pasemos al c\u00f3digo, lo primero que haremos sera crear un archivo data.js que contendr\u00e1 la l\u00f3gica que poblara","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/realnorth.net\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/realnorth.net\/blog\/json-qml\/#breadcrumblist"},"author":{"@id":"https:\/\/realnorth.net\/blog\/author\/admin\/#author"},"creator":{"@id":"https:\/\/realnorth.net\/blog\/author\/admin\/#author"},"datePublished":"2011-03-19T00:47:57-03:00","dateModified":"2011-12-16T22:54:13-03:00"},{"@type":"WebSite","@id":"https:\/\/realnorth.net\/blog\/#website","url":"https:\/\/realnorth.net\/blog\/","name":"blog - realnorth","inLanguage":"en-US","publisher":{"@id":"https:\/\/realnorth.net\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"blog - realnorth |","og:type":"article","og:title":"Consumiendo JSON con QML - blog - realnorth","og:description":"Hace un tiempo escrib\u00ed sobre lo f\u00e1cil que es consumir XML con QML, hoy le toca el turno a JSON, consumir JSON con QML requiere un poco mas de trabajo comparado con XML, pero no mucho mas. Pasemos al c\u00f3digo, lo primero que haremos sera crear un archivo data.js que contendr\u00e1 la l\u00f3gica que poblara","og:url":"https:\/\/realnorth.net\/blog\/json-qml\/","article:published_time":"2011-03-19T03:47:57+00:00","article:modified_time":"2011-12-17T01:54:13+00:00","twitter:card":"summary","twitter:title":"Consumiendo JSON con QML - blog - realnorth","twitter:description":"Hace un tiempo escrib\u00ed sobre lo f\u00e1cil que es consumir XML con QML, hoy le toca el turno a JSON, consumir JSON con QML requiere un poco mas de trabajo comparado con XML, pero no mucho mas. Pasemos al c\u00f3digo, lo primero que haremos sera crear un archivo data.js que contendr\u00e1 la l\u00f3gica que poblara"},"aioseo_meta_data":{"post_id":"668","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-02-07 23:15:49","updated":"2025-10-29 00:25:44","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/realnorth.net\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/realnorth.net\/blog\/category\/development\/\" title=\"Development\">Development<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tConsumiendo JSON con QML\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/realnorth.net\/blog"},{"label":"Development","link":"https:\/\/realnorth.net\/blog\/category\/development\/"},{"label":"Consumiendo JSON con QML","link":"https:\/\/realnorth.net\/blog\/json-qml\/"}],"_links":{"self":[{"href":"https:\/\/realnorth.net\/blog\/wp-json\/wp\/v2\/posts\/668","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/realnorth.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/realnorth.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/realnorth.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/realnorth.net\/blog\/wp-json\/wp\/v2\/comments?post=668"}],"version-history":[{"count":3,"href":"https:\/\/realnorth.net\/blog\/wp-json\/wp\/v2\/posts\/668\/revisions"}],"predecessor-version":[{"id":1253,"href":"https:\/\/realnorth.net\/blog\/wp-json\/wp\/v2\/posts\/668\/revisions\/1253"}],"wp:attachment":[{"href":"https:\/\/realnorth.net\/blog\/wp-json\/wp\/v2\/media?parent=668"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/realnorth.net\/blog\/wp-json\/wp\/v2\/categories?post=668"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/realnorth.net\/blog\/wp-json\/wp\/v2\/tags?post=668"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}