{"id":126447,"date":"2022-07-11T08:57:41","date_gmt":"2022-07-11T08:57:41","guid":{"rendered":"https:\/\/blog.finxter.com\/?p=465745"},"modified":"2022-07-11T08:57:41","modified_gmt":"2022-07-11T08:57:41","slug":"how-to-fix-typeerror-unhashable-type-list","status":"publish","type":"post","link":"https:\/\/sickgaming.net\/blog\/2022\/07\/11\/how-to-fix-typeerror-unhashable-type-list\/","title":{"rendered":"How to Fix TypeError: unhashable type: \u2018list\u2019"},"content":{"rendered":"\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-top\" data-payload=\"{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;465745&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;top&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;2&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;5&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;5&quot;,&quot;greet&quot;:&quot;Rate this post&quot;,&quot;legend&quot;:&quot;5\\\/5 - (2 votes)&quot;,&quot;size&quot;:&quot;24&quot;,&quot;width&quot;:&quot;142.5&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}\">\n<div class=\"kksr-stars\">\n<div class=\"kksr-stars-inactive\">\n<div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 5px\">\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n<\/p><\/div>\n<div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 5px\">\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n<\/p><\/div>\n<div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 5px\">\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n<\/p><\/div>\n<div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 5px\">\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n<\/p><\/div>\n<div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 5px\">\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"kksr-stars-active\" style=\"width: 142.5px;\">\n<div class=\"kksr-star\" style=\"padding-right: 5px\">\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n<\/p><\/div>\n<div class=\"kksr-star\" style=\"padding-right: 5px\">\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n<\/p><\/div>\n<div class=\"kksr-star\" style=\"padding-right: 5px\">\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n<\/p><\/div>\n<div class=\"kksr-star\" style=\"padding-right: 5px\">\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n<\/p><\/div>\n<div class=\"kksr-star\" style=\"padding-right: 5px\">\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<div class=\"kksr-legend\" style=\"font-size: 19.2px;\"> 5\/5 &#8211; (2 votes) <\/div>\n<\/div>\n<p class=\"has-global-color-8-background-color has-background\">The <code>TypeError: unhashable type: 'list'<\/code> usually occurs when you try to use a list object as a set element or dictionary key and Python internally passes the unhashable list into the <code>hash()<\/code> function. But as lists are mutable objects, they do not have a fixed hash value. The easiest way to fix this error is to use a hashable tuple instead of a non-hashable list as a dictionary key or set element.<\/p>\n<p>We&#8217;ll show how this is done in the remaining article. The last method is a unique way to still use lists in sets or dictionary keys that you likely won&#8217;t find anywhere else, so keep reading and learn something new! <img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/1f41d.png\" alt=\"\ud83d\udc1d\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/><\/p>\n<h2>Problem Formulation and Explanation<\/h2>\n<p class=\"has-global-color-8-background-color has-background\"><img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/1f4ac.png\" alt=\"\ud83d\udcac\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/> <strong>Question<\/strong>: How to fix the <code>TypeError: unhashable type: 'list'<\/code> in your Python script?<\/p>\n<p>There are two common reasons for this error:<\/p>\n<ul>\n<li>You try to use a <a href=\"https:\/\/blog.finxter.com\/python-lists\/\" data-type=\"post\" data-id=\"7332\" target=\"_blank\" rel=\"noreferrer noopener\">list<\/a> as a <a href=\"https:\/\/blog.finxter.com\/python-dictionary\/\" data-type=\"post\" data-id=\"5232\" target=\"_blank\" rel=\"noreferrer noopener\">dictionary<\/a> key, or<\/li>\n<li>You try to use a list as a <a href=\"https:\/\/blog.finxter.com\/sets-in-python\/\" data-type=\"post\" data-id=\"1908\" target=\"_blank\" rel=\"noreferrer noopener\">set<\/a> element.<\/li>\n<\/ul>\n<p>This is not a trivial problem because <a rel=\"noreferrer noopener\" href=\"https:\/\/blog.finxter.com\/python-lists\/\" target=\"_blank\">Python lists<\/a> are <a rel=\"noreferrer noopener\" href=\"https:\/\/blog.finxter.com\/mutable-vs-immutable-objects-in-python\/\" target=\"_blank\">mutable<\/a> and, therefore, not <a rel=\"noreferrer noopener\" href=\"https:\/\/blog.finxter.com\/python-hash-function\/\" target=\"_blank\">hashable<\/a>.<\/p>\n<p>Here&#8217;s the first example:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">my_list = [1, 2, 3]\nmy_dict = {}\nmy_dict[my_list] = 'hello Finxters!' '''\nTraceback (most recent call last): File \"C:\\Users\\xcent\\Desktop\\code.py\", line 3, in &lt;module> my_dict[my_list] = 'hello Finxters!'\nTypeError: unhashable type: 'list' '''<\/pre>\n<p>And here&#8217;s the second example:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">my_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]\nmy_set = set(my_list) '''\nTraceback (most recent call last): File \"C:\\Users\\xcent\\Desktop\\code.py\", line 2, in &lt;module> my_set = set(my_list)\nTypeError: unhashable type: 'list' '''<\/pre>\n<p>As you&#8217;ve seen in the previous two code snippets, the <code>TypeError: unhashable type: 'list'<\/code> usually occurs when you try to use a list object as a set element or dictionary key. <\/p>\n<p>But let&#8217;s dive deeper to find the real reason for the error:<\/p>\n<p class=\"has-global-color-8-background-color has-background\"><img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/1fab2.png\" alt=\"\ud83e\udeb2\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/> <strong>Minimal Reproducible Error Example<\/strong>: Lists are <a rel=\"noreferrer noopener\" href=\"https:\/\/blog.finxter.com\/mutable-vs-immutable-objects-in-python\/\" data-type=\"post\" data-id=\"204090\" target=\"_blank\">mutable<\/a> objects so they do not have a fixed <a rel=\"noreferrer noopener\" href=\"https:\/\/blog.finxter.com\/python-hash-function\/\" data-type=\"post\" data-id=\"24483\" target=\"_blank\">hash value<\/a>. In fact, the error can be reproduced most easily when calling <code>hash(lst)<\/code> on a list object <code>lst<\/code>.<\/p>\n<p>This is shown in the following minimal example that causes the error:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">hash([1, 2, 3])<\/pre>\n<p>The output is the error message:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"4\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Traceback (most recent call last): File \"C:\\Users\\xcent\\Desktop\\code.py\", line 1, in &lt;module> hash([1, 2, 3])\nTypeError: unhashable type: 'list'<\/pre>\n<p>Because you cannot successfully pass a list into the <code><a href=\"https:\/\/blog.finxter.com\/python-hash-function\/\" data-type=\"post\" data-id=\"24483\" target=\"_blank\" rel=\"noreferrer noopener\">hash()<\/a><\/code> function, you cannot directly use lists as set elements or dictionary keys. <\/p>\n<p>But let&#8217;s dive into some solutions to this problem!<\/p>\n<h2>Method 1: Use Tuple Instead of List as Dictionary Key<\/h2>\n<p class=\"has-global-color-8-background-color has-background\">The easiest way to fix the <code>TypeError: unhashable type: 'list'<\/code> is to use a hashable tuple instead of a non-hashable list as a dictionary key. For example, whereas <code>d[my_list]<\/code> will raise the error, you can simply use <code>d[tuple(my_list)]<\/code> to fix the error.<\/p>\n<p>Here&#8217;s an example of what you can do instead:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"3\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">my_list = [1, 2, 3]\nmy_dict = {}\nmy_dict[tuple(my_list)] = 'hello Finxters!' print(my_dict)\n# {(1, 2, 3): 'hello Finxters!'}\n<\/pre>\n<p>The error may also occur when you try to use a list as a set element. Next, you&#8217;ll learn what to do in that case:<\/p>\n<h2>Method 2: Use Tuple Instead of List as Set Element<\/h2>\n<p class=\"has-global-color-8-background-color has-background\">To fix the <code>TypeError: unhashable type: 'list'<\/code> when trying to use a list as a set element is to use a hashable tuple instead of a non-hashable list. For example, whereas <code>set.add([1, 2])<\/code> will raise the error, you can simply use <code>set.add((1, 2))<\/code> or <code>set.add(tuple([1, 2]))<\/code> to fix the error.<\/p>\n<p>Here&#8217;s a minimal example:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"6\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">my_set = set() # Error: my_set.add([1, 2]) # This is how to resolve the error:\nmy_set.add((1, 2))\n# Or: my_set.add(tuple([1, 2])) print(my_set)\n# {(1, 2)}\n<\/pre>\n<p>If you want to convert a list of lists to a set, you can check out my detailed tutorial on the Finxter blog:<\/p>\n<p class=\"has-base-background-color has-background\"><img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/1f30e.png\" alt=\"\ud83c\udf0e\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/> <strong>Related Tutorial<\/strong>: <a rel=\"noreferrer noopener\" href=\"https:\/\/blog.finxter.com\/how-to-convert-a-list-of-lists-to-a-set-in-python\/\" data-type=\"post\" data-id=\"464395\" target=\"_blank\">How to convert a list of lists to a set?<\/a><\/p>\n<h2>Method 3: Use String Representation of List as Set Element or Dict Key<\/h2>\n<p class=\"has-global-color-8-background-color has-background\">To fix the <code>TypeError: unhashable type: 'list'<\/code>, you can also use a string representation of the list obtained with <code><a href=\"https:\/\/blog.finxter.com\/python-str-function\/\" data-type=\"post\" data-id=\"23735\" target=\"_blank\" rel=\"noreferrer noopener\">str(my_list)<\/a><\/code> as a set element or dictionary key. Strings are hashable and immutable, so Python won&#8217;t raise the error when using this approach.<\/p>\n<p>Here&#8217;s an example:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">my_list = [1, 2, 3] # 1. Use str repr of list as dict key:\nd = {}\nd[str(my_list)] = 'hello Finxters' # 2. Use str repr of list as set element:\ns = set()\ns.add(str(my_list))\n<\/pre>\n<p>In both cases, we used the string representation of the list instead of the list itself. The string is immutable and hashable and it fixes the error.<\/p>\n<p>But what if you really need a mutable set or dictionary key? Well, you shouldn&#8217;t but you can by using this approach: <\/p>\n<\/p>\n<h2>Method 4: Create Hashable Wrapper List Class<\/h2>\n<p class=\"has-global-color-8-background-color has-background\">You can still use a mutable list as a dictionary key, set element, or argument of the <code>hash()<\/code> function by defining a wrapper class, say HackedList, that overrides the <code><a href=\"https:\/\/blog.finxter.com\/python-__hash__-magic-method\/\" data-type=\"post\" data-id=\"38118\" target=\"_blank\" rel=\"noreferrer noopener\">__hash__()<\/a><\/code> <a href=\"https:\/\/blog.finxter.com\/python-dunder-methods-cheat-sheet\/\" data-type=\"post\" data-id=\"35586\" target=\"_blank\" rel=\"noreferrer noopener\">dunder method<\/a>.<\/p>\n<p>Python\u2019s <a rel=\"noreferrer noopener\" href=\"https:\/\/blog.finxter.com\/python-built-in-functions\/\" target=\"_blank\">built-in<\/a> <code><strong>hash(object)<\/strong><\/code> function takes one object as an argument and returns its hash value as an integer. You can view this hash value as a unique fingerprint of this object. <\/p>\n<p>The Python <code>__hash__()<\/code> method implements the built-in <code><a rel=\"noreferrer noopener\" href=\"https:\/\/blog.finxter.com\/python-hash-function\/\" target=\"_blank\">hash()<\/a><\/code> function.<\/p>\n<p>Here&#8217;s the minimal code example that creates a wrapper class HackedList that overrides the <code>__hash__()<\/code> dunder method so you can use an instance of <code>HackedList<\/code> as a dictionary key, set element, or just as input to the <code>hash()<\/code> function:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">my_list = [1, 2, 3] class HackedList: def __init__(self, lst): self.lst = lst def __hash__(self): return len(self.lst) my_hacked_list = HackedList(my_list) # 1. Pass hacked list into hash() function:\nprint(hash(my_hacked_list)) # Output: 3 # 2. Use hacked list as dictionary key:\nd = dict()\nd[my_hacked_list] = 'hello Finxters' # 3: Use hacked list as set element:\ns = set()\ns.add(my_hacked_list)\n<\/pre>\n<p>Here&#8217;s the content of the dictionary and set defined previously:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{&lt;__main__.HackedList object at 0x0000016CFB0BDFA0>: 'hello Finxters'}\n{&lt;__main__.HackedList object at 0x0000016CFB0BDFA0>}<\/pre>\n<p>If you want to fix the ugly output, you can additionally define the <code><a href=\"https:\/\/blog.finxter.com\/python-__str__\/\" data-type=\"post\" data-id=\"72362\" target=\"_blank\" rel=\"noreferrer noopener\">__str__()<\/a><\/code> and <code><a href=\"https:\/\/blog.finxter.com\/python-__repr__\/\" data-type=\"post\" data-id=\"97521\" target=\"_blank\" rel=\"noreferrer noopener\">__repr__()<\/a><\/code> magic methods like so:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"11-12, 14-15\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">my_list = [1, 2, 3] class HackedList: def __init__(self, lst): self.lst = lst def __hash__(self): return len(self.lst) def __str__(self): return str(self.lst) def __repr__(self): return str(self.lst) my_hacked_list = HackedList(my_list) # 1. Pass hacked list into hash() function:\nprint(hash(my_hacked_list)) # Output: 3 # 2. Use hacked list as dictionary key:\nd = dict()\nd[my_hacked_list] = 'hello Finxters' # 3: Use hacked list as set element:\ns = set()\ns.add(my_hacked_list) print(d)\nprint(s)\n<\/pre>\n<p>Beautiful output:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{[1, 2, 3]: 'hello Finxters'}\n{[1, 2, 3]}<\/pre>\n<h2>Summary<\/h2>\n<p>The five most Pythonic ways to convert a list of lists to a set in Python are:<\/p>\n<ul>\n<li><a href=\"https:\/\/blog.finxter.com\/how-to-fix-typeerror-unhashable-type-list\/#Method_1_Use_Tuple_Instead_of_List_as_Dictionary_Key\"><strong>Method 1<\/strong>: Use Tuple Instead of List as Dictionary Key<\/a><\/li>\n<li><a href=\"https:\/\/blog.finxter.com\/how-to-fix-typeerror-unhashable-type-list\/#Method_2_Use_Tuple_Instead_of_List_as_Set_Element\"><strong>Method 2<\/strong>: Use Tuple Instead of List as Set Element<\/a><\/li>\n<li><a href=\"https:\/\/blog.finxter.com\/how-to-fix-typeerror-unhashable-type-list\/#Method_3_Use_String_Representation_of_List_as_Set_Element_or_Dict_Key\"><strong>Method 3<\/strong>: Use String Representation of List as Set Element or Dict Key<\/a><\/li>\n<li><a href=\"https:\/\/blog.finxter.com\/how-to-fix-typeerror-unhashable-type-list\/#Method_4_Create_Hashable_Wrapper_List_Class\"><strong>Method 4<\/strong>: Create Hashable Wrapper List Class<\/a><\/li>\n<\/ul>\n<p>Feel free to check out more free tutorials and cheat sheets for learning and improving your Python skills in our free email academy:<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<h2>Nerd Humor<\/h2>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"733\" height=\"913\" src=\"https:\/\/blog.finxter.com\/wp-content\/uploads\/2022\/06\/image-72.png\" alt=\"\" class=\"wp-image-410345\" srcset=\"https:\/\/blog.finxter.com\/wp-content\/uploads\/2022\/06\/image-72.png 733w, https:\/\/blog.finxter.com\/wp-content\/uploads\/2022\/06\/image-72-241x300.png 241w\" sizes=\"auto, (max-width: 733px) 100vw, 733px\" \/><figcaption><em>Oh yeah, I didn&#8217;t even know they renamed it the Willis Tower in 2009, because I know a normal amount about skyscrapers.<\/em> &#8212; <a rel=\"noreferrer noopener\" href=\"https:\/\/imgs.xkcd.com\/comics\/or_whatever_2x.png\" data-type=\"URL\" data-id=\"https:\/\/imgs.xkcd.com\/comics\/or_whatever_2x.png\" target=\"_blank\">xkcd<\/a> (source)<\/figcaption><\/figure>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>5\/5 &#8211; (2 votes) The TypeError: unhashable type: &#8216;list&#8217; usually occurs when you try to use a list object as a set element or dictionary key and Python internally passes the unhashable list into the hash() function. But as lists are mutable objects, they do not have a fixed hash value. The easiest way to [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[857],"tags":[73,468,528],"class_list":["post-126447","post","type-post","status-publish","format-standard","hentry","category-python-tut","tag-programming","tag-python","tag-tutorial"],"_links":{"self":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts\/126447","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/comments?post=126447"}],"version-history":[{"count":0,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts\/126447\/revisions"}],"wp:attachment":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/media?parent=126447"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/categories?post=126447"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/tags?post=126447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}