Chrome浏览器中的JSON Strinfy错误

时间:2015-08-23 18:04:24

标签: jquery json google-chrome

这是我的json数据

cmd

var jsonData = { 'user_id' : userId, 'app_id' : '1', 'entry_channel' : 'web', 'category' : img_category, 'title' : postTitle, 'post_content' : postContent, 'post_type': 'picture', 'for_socialevent' : { [eventId] : 'id'}, }; 是一个整数值。

现在,当我对上面的json数据进行字符串化时,这是我在chrome浏览器中得到的响应

var eventId

在Firefox中我得到了正确的响应,我需要

{"user_id":"20","app_id":"1","entry_channel":"web","category":"socialgroup","title":"yewrtgfauiewrgflasdg","post_content":"sdfgjsdafkas;fsafsafsa","post_type":"picture","for_socialgroup":{}}

任何人都可以帮助我做错了什么或者应该做些什么才能在Chrome中获得正确的结果。

1 个答案:

答案 0 :(得分:1)

您无法以您的方式动态创建对象键:

 { [eventId] : 'id'},

您需要将该属性分别添加到已创建的对象

var jsonData = {
    'user_id': userId,
        'app_id': '1',
        'entry_channel': 'web',
        'category': img_category,
        'title': postTitle,
        'post_content': postContent,
        'post_type': 'picture',
        'socialevent': {}
};

jsonData.socialevent[eventId] = id;

同样正如@Dave Newton所指出的那样,这可能是你初始代码中的倒退,应该是:

var jsonData = {
    'user_id': userId,
        'app_id': '1',
        'entry_channel': 'web',
        'category': img_category,
        'title': postTitle,
        'post_content': postContent,
        'post_type': 'picture',
        'socialevent': {'id': eventId}
};