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

Javascript json错误:SyntaxError:json.parse:意外字符,javascript,jquery,json,Javascript,Jquery,Json,我有一些问题。当我尝试post json对象时,出现错误:错误:SyntaxError:json.parse:意外字符 我的javascript对象: var $arr_data = { title: '', category: '', about: '', sex: 'unisex', accessories: 'no', quantity: [] }; 我认为该功能中存在一个问题:

我有一些问题。当我尝试post 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'}"
    ]
}

您应该向数组中添加对象,而不是JSON字符串:

var $string = {
    color: $pattern, 
    size: $size_input,
    quantity: $quant_input
};
您正在将javascript对象与JSON字符串混合。然后将对象转换为字符串


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

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

var $string = {
    color: $pattern, 
    size: $size_input,
    quantity: $quant_input
};
您正在将javascript对象与JSON字符串混合。然后将对象转换为字符串


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

$pattern
来自何处(在
数据量
函数中)?
$pattern
来自何处(在
数据量
函数中)?