我试图使用以下脚本来迭代嵌套的JSON对象。它在html中工作正常,但是,我从Excel VBA ScriptControl对象调用它。当我这样做时,它返回一个" undefined" " $"
的错误我假设它是因为VBA ScriptControl不允许使用jQuery(是真的吗?)
所以...可以帮助转换" $。each()"以下部分进入javascript?
代码:
function jsonFunction() {
var jsonObj = {
Item1: 'This is a test',
Item2: { Value1: '100', Value2: '200' },
Item3: { Value1: '101', Value2: '201' },
};
var result = '';
$.each(jsonObj, jsonLoop);
function jsonLoop(key, value) {
if (typeof value === 'object') {
$.each(value, jsonLoop);
} else {
result += key + ' : ' + value + ', ';
}
}
return result;
}
答案 0 :(得分:1)
您可以创建自己的each
功能
function each(obj, cb) {
for (var key in obj) {
cb(key, obj[key]);
}
}
function jsonFunction() {
var jsonObj = {
Item1: 'This is a test',
Item2: { Value1: '100', Value2: '200' },
Item3: { Value1: '101', Value2: '201' },
};
var result = '';
each(jsonObj, jsonLoop);
function jsonLoop(key, value) {
if (typeof value === 'object') {
each(value, jsonLoop);
} else {
result += key + ' : ' + value + ', ';
}
}
return result;
}