SVG 是一種基于 XML 的矢量圖形格式,常用于 Web 開發和動畫制作。而 JSON 是一種輕量級的數據存儲格式,逐漸成為 Web 應用中數據傳輸和存儲的標準。將 SVG 轉換成 JSON,有助于將圖形元素和屬性傳遞給后端保存或在前端進行操作。
下面是一個簡單的示例,將 SVG 圖形轉換成 JSON 數據:
<svg width="300" height="200"> <circle cx="50" cy="50" r="30" fill="red" /> <rect x="100" y="50" width="80" height="30" fill="blue" /> </svg> // JavaScript 代碼 var svg = document.querySelector('svg'); var json = JSON.stringify({ type: 'svg', width: svg.getAttribute('width'), height: svg.getAttribute('height'), content: Array.prototype.map.call(svg.children, function(node) { var obj = { type: node.tagName.toLowerCase(), attrs: Array.prototype.reduce.call(node.attributes, function(acc, attribute){ acc[attribute.nodeName] = attribute.nodeValue; return acc; }, {}), }; return obj; }) }); console.log(json);
上述代碼將 SVG 格式的圖像轉換成了 JSON 格式的對象,包括圖像類型、寬高和每個子元素的類型和屬性。
在實際開發中,我們可以使用現有的 SVG 轉換庫,如svgson,來快速完成 SVG 到 JSON 格式的轉換。
總的來說,將 SVG 轉換成 JSON 可以方便地傳輸和操作圖像數據,使開發變得更加靈活和高效。