[英]json.parse unexpected token error
我正在尝试将字符串解析为json对象,但我总是遇到相同的错误SyntaxError:意外令牌'
var data = ('{' + fields.productName.toString() + ":" + parseInt(fields.quantity.toString()) + '}' );
我尝试了很少的变化,但没有任何效果。
您需要在值名称周围加上引号
data = ('{\"' + fields.productName.toString() + "\":" + parseInt(fields.quantity.toString()) + '}' );
但是您不应该手动生成json,因为现在您需要转义fields.productName.toString()包含的所有引号。 您应该改用JSON.stringify 。
我认为您不需要这样做,只需执行以下操作:
var fields = {productName: 'hello', quantity: 1};
var data = {};
data[fields.productName.toString()] = parseInt(fields.quantity.toString());
console.log(JSON.stringify(data));
避免问题的最佳方法:
var data = {};
data[fields.productName.toString()] = parseInt(fields.quantity.toString());
PS利用JS对象的美丽,不要通过使用字符串构造对象来重新发明轮子:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.