JavaScript取值get的json/url/普通对象参考

dstore.on('datachanged',function(dstore){
        for(i=0;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')) {
    // 安全访问
}

你可能感兴趣的:(JavaScript取值get的json/url/普通对象参考)