json.parse意外令牌错误

我试图解析字符串到json对象,但我总是得到相同的错误SyntaxError:意外的标记'

var data = ('{' + fields.productName.toString() + ":" + parseInt(fields.quantity.toString()) + '}' );

我尝试了几个变化,但没有任何作品。


避免问题的最佳途径:

  var data = {};
  data[fields.productName.toString()] = parseInt(fields.quantity.toString());

PS利用JS对象的美丽,不要通过使用字符串构造对象来重新发明轮子:)


我不认为你需要这样做,只是这样做:

var fields = {productName: 'hello', quantity: 1};
var data = {};
data[fields.productName.toString()] = parseInt(fields.quantity.toString());
console.log(JSON.stringify(data));

的jsfiddle


你需要引用值名称

data = ('{"' + fields.productName.toString() + "":" + parseInt(fields.quantity.toString()) + '}' );

但是你不应该手动生成json,因为现在你需要转义fields.productName.toString()包含的所有引号。 您应该使用JSON.stringify代替。

链接地址: http://www.djcxy.com/p/45995.html

上一篇: json.parse unexpected token error

下一篇: Uncaught SyntaxError: Unexpected token e when try to parse a JSON string