<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>資料序列化 &#8211; 小豬日常</title>
	<atom:link href="https://piglife.tw/tag/%e8%b3%87%e6%96%99%e5%ba%8f%e5%88%97%e5%8c%96/feed/" rel="self" type="application/rss+xml" />
	<link>https://piglife.tw</link>
	<description>Hello World，一個紀錄生活與學習的地方</description>
	<lastBuildDate>Fri, 12 Dec 2025 14:42:55 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://piglife.tw/wp-content/uploads/2017/10/cropped-logo-1-32x32.png</url>
	<title>資料序列化 &#8211; 小豬日常</title>
	<link>https://piglife.tw</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>使用 JSON.stringify 將表單資料轉存為 JSON 格式的技術筆記</title>
		<link>https://piglife.tw/technical-notes/json-stringify-form-data/</link>
					<comments>https://piglife.tw/technical-notes/json-stringify-form-data/#respond</comments>
		
		<dc:creator><![CDATA[小豬]]></dc:creator>
		<pubDate>Tue, 24 Oct 2017 07:04:52 +0000</pubDate>
				<category><![CDATA[技術筆記]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[json.stringify]]></category>
		<category><![CDATA[前端開發]]></category>
		<category><![CDATA[表單資料]]></category>
		<category><![CDATA[資料序列化]]></category>
		<guid isPermaLink="false">https://piglife.tw/?p=125</guid>

					<description><![CDATA[說明如何利用 JSON.stringify 將多個前端表單欄位資料轉存成 JSON 格式，並存入隱藏...]]></description>
										<content:encoded><![CDATA[<h2 class="wp-block-heading">前言</h2>
<p>在前端開發中，常遇到表單欄位眾多，但後端資料庫只設計一個欄位存放所有資料的情況。這時候如何有效整理並傳送這些資料成為一個重要課題。本文適合有基礎程式能力的工程師或自學者，說明如何利用 JavaScript 將多個表單欄位資料組合成字串或 JSON 格式，並存入隱藏欄位，方便後端存取。</p>
<h2 class="wp-block-heading">將表單欄位值組合成字串的做法</h2>
<ol>
<li>
<p><strong>隱藏欄位設定</strong>：先在表單中加入一個隱藏欄位，用來存放組合後的字串。</p>
</li>
<li>
<p><strong>取值並組合</strong>：使用 JavaScript 取得各個欄位的值，存成變數後，依需求拼接成想要的字串格式。</p>
</li>
<li>
<p><strong>寫入隱藏欄位</strong>：利用 jQuery 的 <code>.val()</code> 方法，將組合好的字串寫入隱藏欄位。</p>
</li>
</ol>
<pre><code class="lang-javascript language-javascript javascript">var val1 = $(&#039;#field1&#039;).val();
var val2 = $(&#039;#field2&#039;).val();
var result = val1 + &#039;-&#039; + val2; // 自訂組合格式
$(&#039;#hiddenField&#039;).val(result);</code></pre>
<p>這樣送出表單時，隱藏欄位就會帶著組合好的字串，後端可直接存取。</p>
<h2 class="wp-block-heading">使用 JSON.stringify 將表單資料轉成 JSON 格式</h2>
<ol>
<li>
<p><strong>隱藏欄位設定</strong>：同樣先準備一個隱藏欄位。</p>
</li>
<li>
<p><strong>建立物件與陣列</strong>：宣告一個空陣列 <code>jsonObj</code>，再建立一個物件 <code>item</code>，將各欄位值存入物件屬性。</p>
</li>
<li>
<p><strong>推入陣列並序列化</strong>：使用 <code>jsonObj.push(item)</code> 將物件放入陣列，接著用 <code>JSON.stringify(jsonObj)</code> 將陣列轉成 JSON 字串。</p>
</li>
<li>
<p><strong>寫入隱藏欄位</strong>：同樣用 jQuery <code>.val()</code> 將 JSON 字串寫入隱藏欄位。</p>
</li>
</ol>
<pre><code class="lang-javascript language-javascript javascript">var jsonObj = [];
var item = {};
item.name = $(&#039;#name&#039;).val();
item.email = $(&#039;#email&#039;).val();
jsonObj.push(item);
$(&#039;#hiddenField&#039;).val(JSON.stringify(jsonObj));</code></pre>
<p>這樣後端收到的欄位即為 JSON 格式字串，方便後續解析與呈現。</p>
<h2 class="wp-block-heading">實際應用與延伸</h2>
<ul>
<li><strong>資料庫設計彈性</strong>：將多欄位資料存成 JSON，資料庫欄位設計更簡潔，且方便擴充。</li>
<li><strong>前端動態欄位</strong>：動態新增欄位時，只需更新物件結構，序列化流程不變。</li>
<li><strong>後端解析</strong>：後端可直接解析 JSON 字串，減少欄位對應錯誤。</li>
</ul>
<h2 class="wp-block-heading">常見坑點</h2>
<ul>
<li>忘記將隱藏欄位設為 <code>name</code> 屬性，導致資料無法送出。</li>
<li>JSON 格式錯誤，導致後端解析失敗。</li>
<li>未同步更新隱藏欄位值，送出資料不完整。</li>
</ul>
<h2 class="wp-block-heading">完整程式碼</h2>
<pre><code class="lang-text language-text text">// 假設有兩個輸入欄位與一個隱藏欄位
$(document).ready(function() {
  $(&#039;#submitBtn&#039;).click(function(e) {
    e.preventDefault();
    var jsonObj = [];
    var item = {};
    item.name = $(&#039;#nameInput&#039;).val();
    item.email = $(&#039;#emailInput&#039;).val();
    jsonObj.push(item);
    $(&#039;#hiddenField&#039;).val(JSON.stringify(jsonObj));
    // 這裡可繼續送出表單或其他處理
    console.log($(&#039;#hiddenField&#039;).val());
  });
});</code></pre>]]></content:encoded>
					
					<wfw:commentRss>https://piglife.tw/technical-notes/json-stringify-form-data/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
