json错误:SyntaxError:JSON.parse:意外字符

时间:2013-12-25 21:03:23

标签: javascript jquery json

我有一些问题。当我尝试发布json对象时,我有错误:错误: SyntaxError:JSON.parse:意外字符

我的javascript对象:

var $arr_data = {
        title: '',
        category: '',
        about: '',
        sex: 'unisex',
        accessories: 'no',
        quantity: []
    };

我认为这个功能存在问题:

  function data_quantity($size_input,$quant_input)
    {
        var $string = "{color:'"+$pattern+"',size:'"+$size_input+"',quantity:'"+$quant_input+"'}";
        $arr_data.quantity.push($string);
    }

alert(JSON.stringify($arr_data));返回以下字符串:

{
"title":"title_test",
"category":"3",
"about":"about_test",
"sex":"woman",
"accessories":"no",
"quantity":[
    "{color:'none',size:'xxl',quantity:'5'}",
    "{color:'black',size:'xxl',quantity:'1'}",
    "{color:'white',size:'s',quantity:'9'}"
    ]
}

1 个答案:

答案 0 :(得分:4)

您应该在数组中添加一个对象而不是JSON字符串:

var $string = {
    color: $pattern, 
    size: $size_input,
    quantity: $quant_input
};

您正在将javascript对象与JSON字符串混合在一起。使用JSON.stringify,您的对象将转换为字符串。

另外,作为旁注,为什么要在所有变量中添加$前缀?这是javascript而不是php,所以不需要那样。您可以使用它来标记jQuery对象,但对正常变量没有意义。