我想创建一个 JSON 对象words
,该对象进一步包含对象列表s
并e
具有不同的值,如下所示:
words = {
"a1": { s: 1.5, e: 2 },
"a2": { s: 2.1, e: 2.4 },
"a3": { s: 2.5, e: 3 },
"a4": { s: 3.5, e: 3.8 },
"a5": { s: 3.9, e: 4.5 },
"a6": { s: 4.8, e: 5.2 },
"a7": { s: 5.3, e: 5.3 },
"a8": { s: 6.5, e: 7 },
"a9": { s: 7.2, e: 8 },
"a10": { s: 8.1, e: 8.4 }
};
我需要使用for
循环添加这些值。我为此应用了以下解决方案:
var words = {};
var xyz = [1.5,2,2.1,2.4,2.5,3,3.5,3.8,3.9,4.5,4.8,5.2,5.3,5.3,6.5,7,7.2,8];
words = '{';
for (var i = 0; i <= 10; i++) {
if (i == 10)
var obj = '\"a' + i + '\"'+': { s:' + xyz[i] + ', e:' + xyz[i + 1] + '}';
else
var obj = '\"a' + i + '\": { s:' + xyz[i] + ', e:' + xyz[i + 1] + '},';
words = words + obj;
}
words = words + '}';
$.parseJSON(words);
但这会产生以下错误:
Uncaught SyntaxError: Unexpected token s**
因此,我无法创建对象。