dstore.on('datachanged',function(dstore){
? ? ? ? for(i=0;i<dstore.getCount();i++){
? ? ? ? var a = dstore.getAt(i);
? ? ? ? var imp_info=a.get('imp_info');
上面這段JS代碼,imp_info取到的是一長串KEY和VALUE組成的內容,我怎樣可以準確獲取其中一個KEY=SPkValue的VALUE?
---------------------------------------------------------------------------------
要準確獲取 imp_info 中 KEY=SPkValue 對應的 VALUE,可以使用以下方法:
如果 imp_info 是 JSON 字符串?:
需要先解析為 JavaScript 對象,再通過屬性訪問獲取值:
var impInfoObj = JSON.parse(imp_info);
var spkValue = impInfoObj.SPkValue; // 或 impInfoObj['SPkValue']
如果 imp_info 是 URL 查詢參數格式?(如 key1=value1&key2=value2):
可以使用 URLSearchParams 解析:
const params = new URLSearchParams(imp_info);
var spkValue = params.get('SPkValue');
如果 imp_info 是普通對象?:
直接通過屬性訪問即可:
var spkValue = imp_info.SPkValue; // 或 imp_info['SPkValue']
完整代碼示例?:
dstore.on('datachanged', function(dstore) {for (let i = 0; i < dstore.getCount(); i++) {var a = dstore.getAt(i);var imp_info = a.get('imp_info');// 假設 imp_info 是 JSON 字符串try {var impInfoObj = JSON.parse(imp_info);var spkValue = impInfoObj.SPkValue;console.log('SPkValue:', spkValue);} catch (e) {console.error('解析 imp_info 失敗:', e);}}
});
錯誤處理?:
建議添加 try-catch 塊處理可能的解析錯誤,并檢查屬性是否存在:
if (impInfoObj && impInfoObj.hasOwnProperty('SPkValue')) {// 安全訪問
}