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')) {// 安全访问
}