在JSON stringify之后从字符串中删除括号和双引号

问题描述 投票:1回答:1

我想将数据发送到API,所以我将数组传递给ajax请求。首先我做了JSON.stringfy()

var string = JSON.stringify(Allsubjects);
//string = "["Mathmatics","English","Hindi","Science","Social Science"]"

注意:字符串化后,它会在括号前后添加额外的双引号

我想输出像:

Mathmatics,English,Science 

毫无疑问的引号,括号和单引号。

需要发送的数据:

data: { classes_sections:"{'2':['E']}",
        subjects:"{'data':['Science','English','Maths','Others']}"
       },

API结构

 "E": { "subject": [   "Science",
                        "English",
                        "Maths",
                        "Others"
                    ]
       },
jquery arrays json ajax
1个回答
0
投票

你应该使用join而不是stringify

var Allsubjects = ["Mathmatics","English","Hindi","Science","Social Science"];
var string = Allsubjects.join(",");

console.log( string );

如果要将json字符串传递给API,则可以:

var Allsubjects = ["Mathmatics", "English", "Hindi", "Science", "Social Science"];
var classes_sections = ["E"];
var class = "2";

data: {
    classes_sections:'{"' + class + '":' + JSON.stringify(classes_sections) + '}',
    subjects: '{"data":' + JSON.stringify(Allsubjects) + '}'
},

或者你可以构建JSON

var Allsubjects = ["Mathmatics", "English", "Hindi", "Science", "Social Science"];
var classes_sections = ["E"];
var className = "2";

//Structure JSON
var subjectJSON = { data : Allsubjects };
var classJSON = {};
classJSON[ className ] = classes_sections;

data: {
    classes_sections: JSON.stringify( classJSON ),
    subjects: JSON.stringify( subjectJSON )
},

Doc:join

© www.soinside.com 2019 - 2024. All rights reserved.