{"id":6407,"date":"2026-07-05T11:35:39","date_gmt":"2026-07-05T02:35:39","guid":{"rendered":"https:\/\/route-zero.com\/recruit\/?post_type=route&#038;p=6407"},"modified":"2026-10-05T11:35:50","modified_gmt":"2026-10-05T02:35:50","slug":"nextjs-hydration-mismatch-date-math-random","status":"publish","type":"route","link":"https:\/\/route-zero.com\/recruit\/route\/6407\/","title":{"rendered":"Next.js\u306eHydration Mismatch\uff5cDate\u30fbMath.random\u306e\u76f4\u3057\u65b9"},"content":{"rendered":"<p>Next.js\u306eHydration Mismatch\u306f\u3001\u30b5\u30fc\u30d0\u30fc\u3067\u751f\u6210\u3057\u305fHTML\u3068\u3001\u30d6\u30e9\u30a6\u30b6\u5074\u306e\u6700\u521d\u306eReact render\u304c\u4e00\u81f4\u3057\u306a\u3044\u3068\u304d\u306b\u8d77\u304d\u307e\u3059\u3002`Date.now()`\u3084`new Date()`\u3001`Math.random()`\u306e\u3088\u3046\u306brender\u306e\u305f\u3073\u306b\u7d50\u679c\u304c\u5909\u308f\u308b\u5024\u3092JSX\u5185\u3067\u76f4\u63a5\u8a08\u7b97\u3059\u308b\u3068\u3001\u540c\u3058Component\u3067\u3082\u30b5\u30fc\u30d0\u30fc\u3068\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3067\u5225\u306e\u6587\u5b57\u5217\u30fbID\u306b\u306a\u308a\u3084\u3059\u3044\u305f\u3081\u8981\u6ce8\u610f\u3067\u3059\u3002\u307e\u305a\u300c\u521d\u56derender\u304c\u4e21\u5074\u3067\u540c\u3058\u304b\u300d\u3092\u78ba\u8a8d\u3057\u3001\u5fc5\u8981\u306a\u3089\u5024\u3092\u30b5\u30fc\u30d0\u30fc\u304b\u3089\u6e21\u3059\u3001hydration\u5f8c\u306b`useEffect`\u3067\u66f4\u65b0\u3059\u308b\u3001ID\u7528\u9014\u306a\u3089`useId`\u3078\u7f6e\u304d\u63db\u3048\u308b\u3001\u3068\u3044\u3046\u9806\u3067\u76f4\u3057\u307e\u3059\u3002<\/p>\n<h2>\u307e\u305a\u7d50\u8ad6\uff1aHydration\u3067\u306f\u6700\u521d\u306e\u51fa\u529b\u3092\u4e00\u81f4\u3055\u305b\u308b<\/h2>\n<table>\n<thead>\n<tr>\n<th>\u75c7\u72b6<\/th>\n<th>\u539f\u56e0\u5019\u88dc<\/th>\n<th>\u6700\u521d\u306b\u8a66\u3059\u3053\u3068<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u6642\u523b\u8868\u793a\u3060\u3051\u4e00\u81f4\u3057\u306a\u3044<\/td>\n<td>Date.now() \/ new Date() \/ locale\u5dee<\/td>\n<td>\u521d\u56de\u5024\u3092\u56fa\u5b9a\u3057\u3066\u30b5\u30fc\u30d0\u30fc\u304b\u3089\u6e21\u3059<\/td>\n<\/tr>\n<tr>\n<td>\u6bce\u56de\u9055\u3046ID\u3067Mismatch<\/td>\n<td>Math.random()\u3067ID\u751f\u6210<\/td>\n<td>useId\u307e\u305f\u306f\u30c7\u30fc\u30bf\u7531\u6765\u306e\u5b89\u5b9aID\u3078\u5909\u66f4<\/td>\n<\/tr>\n<tr>\n<td>window\/localStorage\u53c2\u7167\u3067Mismatch<\/td>\n<td>\u30d6\u30e9\u30a6\u30b6\u5c02\u7528\u5024\u3092render\u4e2d\u306b\u53c2\u7167<\/td>\n<td>\u521d\u56de\u306f\u5171\u901a\u5024\u3092\u63cf\u753b\u3057useEffect\u5f8c\u306b\u66f4\u65b0<\/td>\n<\/tr>\n<tr>\n<td>1\u8981\u7d20\u3060\u3051\u610f\u56f3\u7684\u306b\u6642\u523b\u304c\u9055\u3046<\/td>\n<td>\u4e0d\u53ef\u907f\u306a\u5dee\u5206<\/td>\n<td>suppressHydrationWarning\u3092\u9650\u5b9a\u7684\u306b\u4f7f\u3046<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>React\u306e`hydrateRoot`\u306f\u3001\u30b5\u30fc\u30d0\u30fc\u3067\u751f\u6210\u6e08\u307f\u306eHTML\u3078React\u306e\u51e6\u7406\u3092\u63a5\u7d9a\u3057\u307e\u3059\u3002React\u516c\u5f0f\u306f\u3001hydration\u6642\u306eComponent tree\u304c\u30b5\u30fc\u30d0\u30fc\u51fa\u529b\u3068\u540c\u3058\u7d50\u679c\u3092\u751f\u6210\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u3001Mismatch\u306f\u30d0\u30b0\u3068\u3057\u3066\u6271\u3046\u3088\u3046\u6848\u5185\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<hr>\n<h2>\u539f\u56e01\uff1aDate.now()\u3084new Date()\u3092render\u4e2d\u306b\u8a08\u7b97\u3057\u3066\u3044\u308b<\/h2>\n<p>\u30b5\u30fc\u30d0\u30fc\u304cHTML\u3092\u4f5c\u308b\u6642\u70b9\u3068\u3001\u30d6\u30e9\u30a6\u30b6\u304chydration\u3059\u308b\u6642\u70b9\u306f\u540c\u3058\u77ac\u9593\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u305d\u306e\u305f\u3081\u3001render\u4e2d\u306b\u73fe\u5728\u6642\u523b\u3092\u8a08\u7b97\u3059\u308b\u3068\u3001\u6570\u30df\u30ea\u79d2\u306e\u5dee\u3067\u3082\u6587\u5b57\u5217\u304c\u5909\u308f\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002Next.js\u516c\u5f0f\u3082time-dependent API\u3092Hydration Error\u306e\u4ee3\u8868\u539f\u56e0\u3068\u3057\u3066\u6319\u3052\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre><code>export default function Clock() {\r\n  return &lt;p&gt;{Date.now()}&lt;\/p&gt;\r\n}<\/code><\/pre>\n<p>\u3053\u306e\u66f8\u304d\u65b9\u3067\u306f\u30b5\u30fc\u30d0\u30fc\u3068\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u304c\u5225\u3005\u306b`Date.now()`\u3092\u8a55\u4fa1\u3057\u307e\u3059\u3002\u8868\u793a\u3057\u305f\u3044\u6642\u523b\u304c\u30b5\u30fc\u30d0\u30fc\u57fa\u6e96\u3067\u3088\u3044\u306a\u3089\u3001\u30b5\u30fc\u30d0\u30fc\u5074\u3067\u4e00\u5ea6\u3060\u3051\u5024\u3092\u4f5c\u3063\u3066Client Component\u3078\u6e21\u3057\u3001\u521d\u56derender\u3067\u306f\u305d\u306e\u5024\u3092\u4f7f\u3046\u65b9\u304c\u5b89\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<pre><code>\/\/ Server Component\r\nimport Clock from &#39;.\/Clock&#39;\r\n\r\nexport default function Page() {\r\n  const initialTime = Date.now()\r\n  return &lt;Clock initialTime={initialTime} \/&gt;\r\n}<\/code><\/pre>\n<pre><code>&#39;use client&#39;\r\n\r\nexport default function Clock({ initialTime }: { initialTime: number }) {\r\n  return &lt;p&gt;{new Date(initialTime).toISOString()}&lt;\/p&gt;\r\n}<\/code><\/pre>\n<hr>\n<h2>\u539f\u56e02\uff1aMath.random()\u3067\u8868\u793a\u5024\u3084ID\u3092\u4f5c\u3063\u3066\u3044\u308b<\/h2>\n<p>`Math.random()`\u3082\u547c\u3076\u305f\u3073\u306b\u7d50\u679c\u304c\u5909\u308f\u308b\u305f\u3081\u3001\u30b5\u30fc\u30d0\u30fc\u3068\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3067\u540c\u3058\u5024\u306b\u306a\u308b\u4fdd\u8a3c\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u7279\u306bJSX\u5185\u3067ID\u3084\u8868\u793a\u9806\u3092\u4f5c\u308b\u3068\u3001Hydration Mismatch\u306e\u539f\u56e0\u3092\u4f5c\u308a\u3084\u3059\u304f\u306a\u308a\u307e\u3059\u3002<\/p>\n<pre><code>export default function Field() {\r\n  const id = `field-${Math.random()}`\r\n  return &lt;input id={id} \/&gt;\r\n}<\/code><\/pre>\n<p>\u30a2\u30af\u30bb\u30b7\u30d3\u30ea\u30c6\u30a3\u5c5e\u6027\u306a\u3069\u306eComponent\u56fa\u6709ID\u306a\u3089\u3001React\u306e`useId`\u304c\u9069\u3057\u3066\u3044\u307e\u3059\u3002React\u516c\u5f0f\u306f`useId`\u3092server rendering\u3067\u3082\u6574\u5408\u3059\u308bID\u7528\u9014\u3068\u3057\u3066\u8aac\u660e\u3057\u3066\u3044\u307e\u3059\u3002\u305f\u3060\u3057\u3001list\u306e`key`\u306f`useId`\u3067\u306f\u306a\u304f\u30c7\u30fc\u30bf\u7531\u6765\u306e\u5b89\u5b9a\u3057\u305fID\u3092\u4f7f\u3044\u307e\u3059\u3002<\/p>\n<pre><code>&#39;use client&#39;\r\n\r\nimport { useId } from &#39;react&#39;\r\n\r\nexport default function Field() {\r\n  const id = useId()\r\n  return &lt;input id={id} aria-describedby={`${id}-help`} \/&gt;\r\n}<\/code><\/pre>\n<hr>\n<h2>\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3067\u3057\u304b\u5206\u304b\u3089\u306a\u3044\u5024\u306fuseEffect\u5f8c\u306b\u66f4\u65b0\u3059\u308b<\/h2>\n<p>`window`\u3001`localStorage`\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u30ed\u30fc\u30ab\u30eb\u6642\u523b\u306a\u3069\u3001\u30d6\u30e9\u30a6\u30b6\u3067\u521d\u3081\u3066\u78ba\u5b9a\u3059\u308b\u5024\u3092\u8868\u793a\u3057\u305f\u3044\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u3068\u304d\u306f\u30b5\u30fc\u30d0\u30fc\u3068\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u521d\u56derender\u3067\u540c\u3058Placeholder\u3092\u8fd4\u3057\u3001hydration\u5f8c\u306bEffect\u3067\u66f4\u65b0\u3059\u308b\u3068Mismatch\u3092\u907f\u3051\u3089\u308c\u307e\u3059\u3002<\/p>\n<pre><code>&#39;use client&#39;\r\n\r\nimport { useEffect, useState } from &#39;react&#39;\r\n\r\nexport default function LocalClock() {\r\n  const [text, setText] = useState(&#39;\u8aad\u307f\u8fbc\u307f\u4e2d&#39;)\r\n\r\n  useEffect(() =&gt; {\r\n    setText(new Date().toLocaleString())\r\n  }, [])\r\n\r\n  return &lt;p&gt;{text}&lt;\/p&gt;\r\n}<\/code><\/pre>\n<p>\u3053\u306e\u65b9\u6cd5\u306f\u521d\u56derender\u3092\u4e00\u81f4\u3055\u305b\u3089\u308c\u307e\u3059\u304c\u3001hydration\u76f4\u5f8c\u306b\u3082\u3046\u4e00\u5ea6render\u3059\u308b\u305f\u3081\u3001\u4f55\u3067\u3082Effect\u3078\u79fb\u305b\u3070\u3088\u3044\u308f\u3051\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u30b5\u30fc\u30d0\u30fc\u3067\u78ba\u5b9a\u3067\u304d\u308b\u5024\u306f\u30b5\u30fc\u30d0\u30fc\u304b\u3089\u6e21\u3057\u3001\u30d6\u30e9\u30a6\u30b6\u56fa\u6709\u306e\u5024\u3060\u3051\u3092Effect\u3078\u5bc4\u305b\u308b\u306e\u304c\u6574\u7406\u3057\u3084\u3059\u3044\u3067\u3059\u3002<\/p>\n<h2>suppressHydrationWarning\u306f\u4fee\u6b63\u3067\u306f\u306a\u304fEscape Hatch<\/h2>\n<p>\u6642\u523b\u306e\u3088\u3046\u306b\u30011\u8981\u7d20\u3060\u3051\u30b5\u30fc\u30d0\u30fc\u3068\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3067\u9055\u3046\u3053\u3068\u304c\u610f\u56f3\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u306f\u3001React\u306e`suppressHydrationWarning`\u3092\u4f7f\u3048\u307e\u3059\u3002<\/p>\n<pre><code>export default function Timestamp() {\r\n  return (\r\n    &lt;time suppressHydrationWarning&gt;\r\n      {new Date().toLocaleString()}\r\n    &lt;\/time&gt;\r\n  )\r\n}<\/code><\/pre>\n<p>\u305f\u3060\u3057React\u516c\u5f0f\u3067\u306f\u3001\u3053\u306e\u6307\u5b9a\u306f1\u968e\u5c64\u3060\u3051\u306b\u52b9\u304fEscape Hatch\u3068\u4f4d\u7f6e\u4ed8\u3051\u3089\u308c\u3066\u3044\u307e\u3059\u3002Mismatch\u306e\u539f\u56e0\u3092\u96a0\u3059\u305f\u3081\u306b\u5e83\u304f\u4ed8\u3051\u308b\u306e\u3067\u306f\u306a\u304f\u3001\u5dee\u5206\u304c\u672c\u5f53\u306b\u4e0d\u53ef\u907f\u306a\u7b87\u6240\u3060\u3051\u306b\u9650\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<h2>\u5207\u308a\u5206\u3051\u306f\u300c\u6700\u521d\u306erender\u3067\u5909\u308f\u308b\u5024\u300d\u3092\u63a2\u3059<\/h2>\n<ul>\n<li>\u30a8\u30e9\u30fc\u306eComponent\u5468\u8fba\u3067Date.now()\u30fbnew Date()\u30fbMath.random()\u3092\u63a2\u3059<\/li>\n<li>typeof window\u3001localStorage\u3001matchMedia\u306a\u3069\u30d6\u30e9\u30a6\u30b6\u5c02\u7528\u5024\u3092render\u4e2d\u306b\u8aad\u3093\u3067\u3044\u306a\u3044\u304b\u78ba\u8a8d\u3059\u308b<\/li>\n<li>\u30b5\u30fc\u30d0\u30fc\u3068\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3067locale\u3084timeZone\u304c\u5909\u308f\u308bformat\u51e6\u7406\u3092\u78ba\u8a8d\u3059\u308b<\/li>\n<li>random\u306aID\u306fuseId\u307e\u305f\u306f\u30c7\u30fc\u30bf\u7531\u6765\u306e\u5b89\u5b9aID\u3078\u7f6e\u304d\u63db\u3048\u308b<\/li>\n<li>\u30b5\u30fc\u30d0\u30fc\u3067\u78ba\u5b9a\u3067\u304d\u308b\u5024\u306fprop\u3068\u3057\u3066\u6e21\u3057\u3001\u521d\u56derender\u3092\u4e00\u81f4\u3055\u305b\u308b<\/li>\n<li>\u4e0d\u53ef\u907f\u306a1\u8981\u7d20\u3060\u3051suppressHydrationWarning\u3092\u691c\u8a0e\u3059\u308b<\/li>\n<\/ul>\n<p>\u300cSSR\u3092\u5168\u90e8\u7121\u52b9\u306b\u3059\u308b\u300d\u524d\u306b\u3001\u3069\u306e\u5024\u304c\u521d\u56derender\u3092\u5909\u3048\u3066\u3044\u308b\u304b\u3092\u7279\u5b9a\u3059\u308b\u65b9\u304c\u539f\u56e0\u3092\u7406\u89e3\u3057\u3084\u3059\u304f\u3001SSR\u306e\u30e1\u30ea\u30c3\u30c8\u3082\u6b8b\u3057\u3084\u3059\u304f\u306a\u308a\u307e\u3059\u3002<\/p>\n<h2>\u65e2\u5b58\u306eApp Router\u8a18\u4e8b\u3068\u306f\u5f79\u5272\u3092\u5206\u3051\u308b<\/h2>\n<p>Route Zero\u306b\u306fApp Router\u306eSSR\u30fbSSG\u30fbISR\u6bd4\u8f03\u3084API\u9023\u643a\u306e\u8a18\u4e8b\u304c\u3042\u308a\u307e\u3059\u3002\u672c\u8a18\u4e8b\u306f\u30ec\u30f3\u30c0\u30ea\u30f3\u30b0\u65b9\u5f0f\u306e\u9078\u3073\u65b9\u3067\u306f\u306a\u304f\u3001Hydration Mismatch\u3068\u3044\u3046\u7279\u5b9a\u30a8\u30e9\u30fc\u306e\u8a3a\u65ad\u3078\u7d5e\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\uff08SSR\u30fbSSG\u30fbISR\u306e\u9078\u3073\u65b9\u3092\u78ba\u8a8d\u3057\u305f\u3044\u5834\u5408\u306b\u3064\u3044\u3066\u306f\u300e<a href=\"https:\/\/route-zero.com\/recruit\/route\/1825\/\">Next.js App Router\u5fb9\u5e95\u6bd4\u8f03\uff1aSSR\u30fbSSG\u30fbISR\u306e\u9055\u3044\u3068\u9078\u3073\u65b9<\/a>\u300f\u3092\u3054\u53c2\u7167\u304f\u3060\u3055\u3044\uff09<\/p>\n<p>\uff08App Router\u306eAPI\u9023\u643a\u30d1\u30bf\u30fc\u30f3\u3092\u78ba\u8a8d\u3057\u305f\u3044\u5834\u5408\u306b\u3064\u3044\u3066\u306f\u300e<a href=\"https:\/\/route-zero.com\/recruit\/route\/1819\/\">Next.js App Router API\u9023\u643a4\u30d1\u30bf\u30fc\u30f3\u5fb9\u5e95\u6bd4\u8f03\uff5c\u6700\u9069\u306a\u9078\u3073\u65b9\u306f\uff1f<\/a>\u300f\u3092\u3054\u53c2\u7167\u304f\u3060\u3055\u3044\uff09<\/p>\n<h2>\u3088\u304f\u3042\u308b\u8cea\u554f<\/h2>\n<h3>Date\u3092\u4f7f\u3046\u3068\u5fc5\u305aHydration Mismatch\u306b\u306a\u308a\u307e\u3059\u304b\uff1f<\/h3>\n<p>\u5fc5\u305a\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u30b5\u30fc\u30d0\u30fc\u3068\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u521d\u56derender\u3067\u540c\u3058\u5024\u30fb\u540c\u3058format\u7d50\u679c\u306b\u306a\u308b\u306a\u3089Mismatch\u306f\u8d77\u304d\u307e\u305b\u3093\u3002\u554f\u984c\u306f\u3001render\u306e\u305f\u3073\u306b\u5909\u308f\u308b\u73fe\u5728\u6642\u523b\u3084locale\u5dee\u306a\u3069\u306b\u3088\u3063\u3066\u521d\u56de\u51fa\u529b\u304c\u4e00\u81f4\u3057\u306a\u3044\u3053\u3068\u3067\u3059\u3002<\/p>\n<h3>Math.random()\u306fuseEffect\u3078\u79fb\u305b\u3070\u3088\u3044\u3067\u3059\u304b\uff1f<\/h3>\n<p>\u8868\u793a\u4e0a\u306erandom\u5024\u3092\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3067\u5f8c\u304b\u3089\u6c7a\u3081\u308b\u7528\u9014\u306a\u3089\u9078\u629e\u80a2\u306b\u306a\u308a\u307e\u3059\u3002\u305f\u3060\u3057ID\u7528\u9014\u306a\u3089React\u306euseId\u3001list\u306ekey\u306a\u3089\u30c7\u30fc\u30bf\u7531\u6765\u306e\u5b89\u5b9aID\u3092\u4f7f\u3046\u65b9\u304c\u76ee\u7684\u306b\u5408\u3044\u307e\u3059\u3002<\/p>\n<h3>suppressHydrationWarning\u3092\u4ed8\u3051\u308c\u3070\u30a8\u30e9\u30fc\u306f\u76f4\u308a\u307e\u3059\u304b\uff1f<\/h3>\n<p>\u8b66\u544a\u3092\u6291\u3048\u308b\u305f\u3081\u306eEscape Hatch\u3067\u3042\u308a\u3001\u6839\u672c\u539f\u56e0\u306e\u4fee\u6b63\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002React\u516c\u5f0f\u3082\u9650\u5b9a\u7684\u306a\u5229\u7528\u3092\u6848\u5185\u3057\u3066\u3044\u307e\u3059\u3002\u307e\u305a\u521d\u56derender\u304c\u4e00\u81f4\u3057\u306a\u3044\u7406\u7531\u3092\u76f4\u3057\u307e\u3059\u3002<\/p>\n<p>\u307e\u305aMismatch\u304c\u51fa\u3066\u3044\u308bComponent\u3067\u3001`Date.now()`\u30fb`new Date()`\u30fb`Math.random()`\u3092render\u4e2d\u306b\u76f4\u63a5\u547c\u3093\u3067\u3044\u306a\u3044\u304b\u78ba\u8a8d\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n","protected":false},"featured_media":6408,"template":"","meta":{"ssp_meta_title":"Next.js Hydration Mismatch\u306e\u539f\u56e0\uff5cDate\u30fbMath.random\u3092\u4fee\u6b63","ssp_meta_description":"Next.js\u306eHydration Mismatch\u3092\u3001Date.now()\u30fbnew Date()\u30fbMath.random()\u30fb\u30d6\u30e9\u30a6\u30b6\u5c02\u7528\u5024\u306e\u9806\u306b\u5207\u308a\u5206\u3051\u307e\u3059\u3002useEffect\u3001useId\u3001suppressHydrationWarning\u306e\u4f7f\u3044\u5206\u3051\u3082\u89e3\u8aac\u3057\u307e\u3059\u3002","ssp_meta_keyword":"Next.js hydration mismatch,Next.js hydration error,Date.now hydration,Math.random hydration,React hydration,suppressHydrationWarning,React useId","ssp_meta_canonical":""},"route_category":[9],"_links":{"self":[{"href":"https:\/\/route-zero.com\/recruit\/wp-json\/wp\/v2\/route\/6407"}],"collection":[{"href":"https:\/\/route-zero.com\/recruit\/wp-json\/wp\/v2\/route"}],"about":[{"href":"https:\/\/route-zero.com\/recruit\/wp-json\/wp\/v2\/types\/route"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/route-zero.com\/recruit\/wp-json\/wp\/v2\/media\/6408"}],"wp:attachment":[{"href":"https:\/\/route-zero.com\/recruit\/wp-json\/wp\/v2\/media?parent=6407"}],"wp:term":[{"taxonomy":"route_category","embeddable":true,"href":"https:\/\/route-zero.com\/recruit\/wp-json\/wp\/v2\/route_category?post=6407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}