通过JSON限制数组子级值

Restroing Array Children values via JSON

本文关键字:数组 JSON 通过      更新时间:2023-09-26

我有一些变量xx=0 , yy=7存储在名为variables的数组中,其中variables=[xx,yy],现在我将这些值存储在一个json文件中,在解析回变量数组后,我想恢复每个变量值(赋值回),假设这个例子很简单,因为我确实有一个很大的变量列表,那么做的完美方法是什么。

这不好,但如果你想自动完成,我认为你找不到更好的方法。

// String with values
var s = '[1,2,3,4,5,6]';
// Expected variables
var a = ('xx,yy,zz,aa,bb,cc,dd,ee').split(',');
// Changing string in String[]
var m = s.match(/'d+/g);
a.forEach(function (v, i) {
  // Extract value.
  var n = m[i];
  // Prevent change empty value.
  if(n)
    // Set value by evaluation (Be careful, this variable must be in scope!).
    // eval is EVIL!
    eval('(' + v + '=' + n + ')');
});

如果您的变量是全局定义的,您可以尝试

var variablenames = ["xx", "yy"];
var variables = [xx,yy];
for (var i=0; i<variables.length; i++) {
    window[variablenames[i]] = variables[i];
}

可能是这样的:

var variables = {};
variables.xx = 100;
variables.yy = 200;
var jsonObj = JSON.stringify(variables); // converted to Json object
console.log(jsonObj); // outputs: {"xx":100,"yy":200} 
var obj1 = JSON.parse(jsonObj);
alert(obj1.xx + "  " + obj1.yy); // alerts (100 200);