Javascript 使用报价ES6为post请求创建字符串值
所以我尝试创建一个json字符串,如下所示:Javascript 使用报价ES6为post请求创建字符串值,javascript,string,reactjs,Javascript,String,Reactjs,所以我尝试创建一个json字符串,如下所示: { "username": "John", "email": "johndoe@gmail.com", "address": "123 Fake St", ... } {"username": "john", "email": "johndoe@gmail.com"... // quotes with each value 这就是我所拥有的: stringPost += fieldName + ": " + fie
{
"username": "John",
"email": "johndoe@gmail.com",
"address": "123 Fake St",
...
}
{"username": "john", "email": "johndoe@gmail.com"... // quotes with each value
这就是我所拥有的:
stringPost += fieldName + ": " + fieldValue +", ";
然后我将JSON.stringifying它。但它需要这些必要的引用。我得到的回报如下:
"username: John, email: johndoe@gmail.com, address: 123 Fake St, "
// all in one wrapping quote: not what we need
我需要这样:
{
"username": "John",
"email": "johndoe@gmail.com",
"address": "123 Fake St",
...
}
{"username": "john", "email": "johndoe@gmail.com"... // quotes with each value
我已尝试添加正确的“vs”引号,但它只是使用\username…Help!呈现。JSON.stringify将对象作为其参数,而不是字符串。只需创建一个对象,并将其键设置为字段名,将值设置为字段值,而不是使用字符串串联:
var jsonObj={};
//现在在一些循环中:
jsonObj[fieldName]=字段值;
//循环后:
var ajaxString=JSON.stringify(jsonObj);
JSON.stringify
将对象作为其参数,而不是字符串……为什么不创建一个对象var jsonObj={}
,然后对字段执行jsonObj[fieldName]=fieldValue
,然后执行JSON.stringify(jsonObj);
?但是,要按照您的方式执行,您只需要stringPost+=''+fieldName+':““+fieldValue+”;
@TAGraves我想使用您的第一个建议。但是我正在循环遍历每个字段并将其附加到这个字符串。因此对于每个字段返回stringPost+=”“+fieldName+”:“+fieldValue+”"';代码>将其添加到一个变量stringPost中,稍后我会将其附加到ajax中call@TAGraves如果最后一个逗号是循环中的最后一个逗号,您有什么建议吗?或者我应该为这个问题创建一个新的问题吗?@TAGraves将你的第一个建议作为答案(创建一个对象)这绝对是正确的方法