JSON(JavaScript 對象表示法)是一種數據交換格式,常用于前后端數據傳輸。在開發過程中,我們有時需要對 JSON 數據進行攔截或修改。
let jsonData = { "name": "張三", "age": 18, "address": { "province": "廣東", "city": "深圳", "district": "福田區" } };
攔截 JSON 數據
我們可以使用 Proxy 對象來攔截 JSON 數據。
let jsonDataProxy = new Proxy(jsonData, { get: function(target, key, receiver) { console.log('正在獲取屬性:' + key); return Reflect.get(target, key, receiver); }, set: function(target, key, value, receiver) { console.log('正在設置屬性:' + key); return Reflect.set(target, key, value, receiver); } });
修改 JSON 數據
我們可以使用 JSON.parse() 方法將 JSON 字符串轉成對象,以便修改后再轉回 JSON 字符串。
let jsonString = '{"name": "張三", "age": 18}'; let jsonObj = JSON.parse(jsonString); jsonObj.age = 20; jsonString = JSON.stringify(jsonObj); console.log(jsonString); // 輸出 {"name": "張三", "age": 20}
當然,如果我們只需要修改某個屬性值,也可以直接修改 JSON 字符串。
let jsonString = '{"name": "張三", "age": 18}'; let jsonObj = JSON.parse(jsonString); jsonString = jsonString.replace(/"age":\s*18/, '"age": 20'); console.log(jsonString); // 輸出 {"name": "張三", "age": 20}