首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JavaScript JSON 字串轉物件並動態新增屬性完整範例

     編輯:程式設計綜合問答

變數 testStr 是 JSON 格式字串,非物件。需用 JSON.parse(或 eval)轉為陣列物件,才能操作。

完整程式碼

<!DOCTYPE html>
<html>
<body>
<script>
var testStr = '[{"aa":"a1","bb":"b1","cc":"c1","dd":"d1"},{"aa":"a2","bb":"b2","cc":"c2","dd":"d2"}]';

// 1. 轉為物件陣列(推薦 JSON.parse)
var jsonObj = JSON.parse(testStr);

// 2. 遍歷並新增屬性
for (var i = 0; i < jsonObj.length; i++) {
    console.log(jsonObj[i].aa); // 讀取原有屬性
    jsonObj[i]['新增欄位'] = 'cccc'; // 動態新增
    console.log(jsonObj[i]['新增欄位']);
}

// 3. 轉回字串(如需傳回後端)
var newStr = JSON.stringify(jsonObj);
console.log(newStr);
</script>
</body>
</html>

關鍵差異

型態說明操作方式
JSON 字串純文字,不可直接取屬性JSON.parse() → 物件
JS 物件/陣列記憶體結構,可直接點運算子存取obj.prop / arr[i].prop

安全提醒

禁用 eval:若字串來源不可信,eval 會執行任意代碼,永遠用 JSON.parse。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved