当我运行此代码时,我收到“Uncaught SyntaxError:Unexpected token ILLEGAL”错误
str += "{'value': "+ response_imdb[count] +",
'color':#"+ colorValue +",
'label': "+ response_labels[count] +"
}";
感谢。
答案 0 :(得分:2)
这是另一种简单的方法。
str += JSON.stringify({
value: response_imdb[count],
color: '#' + colorValue,
label: response_labels[count]
});
答案 1 :(得分:2)
在JavaScript中,您不能拥有多行字符串(unless you add a backslash to the end of each line)。
将它们设为多个字符串并使用+
连接它们,如下所示:
str += "{'value': "+ response_imdb[count] +"," +
"'color':#"+ colorValue +"," +
"'label': "+ response_labels[count] +
"}";
答案 2 :(得分:2)
Javascript不允许字符串中的换行符。你在每一行末尾的",
之后产生换行符。你应该把它改成:
str += "{'value': "+ response_imdb[count] +",\n"+
'color':#"+ colorValue +",\n"+
'label': "+ response_labels[count] +",\n"+
}";
但尝试手动创建JSON字符串几乎总是错误的。使用函数,例如Javascript中的JSON.stringify
,PHP中的json_encode
等。
那里还有其他一些问题。如果字符串将被解析为JSON,则属性名称必须是双引号,而不是单引号。 # + colorValue
需要在引号中作为字符串。