Sth*_*the 1 javascript string json loops for-loop
我想从javascript for循环创建一个JSON字符串.这是我试图做的(它给了我一些看起来像JSON字符串的东西),但它不起作用.
var edited = "";
for(var i=1;i<POST.length-1;i++) {
edited += '"'+POST[i].name+'":"'+POST[i].value+'",';
}
Run Code Online (Sandbox Code Playgroud)
它给了我这个:
"type":"empty","name":"email-address","realname":"Email Address","status":"empty","min":"empty","max":"empty","dependson":"empty",
Run Code Online (Sandbox Code Playgroud)
如果我稍后尝试将其转换为JSON对象,则此方法无效.
两个问题:
{并结束}.,可能被视为无效的尾随.使用库可能更好,但要更正代码:
var edited = "";为var edited = "{";使用a启动JSON字符串{edited = edited.slice(0, -1);在for循环后添加以删除尾随逗号.edited += "}";在上一个语句之后添加以结束您的JSON字符串}你的最终代码是:
var edited = "{";
for(var i=1;i<POST.length-1;i++) {
edited += '"'+POST[i].name+'":"'+POST[i].value+'",';
}
edited = edited.slice(0, -1);
edited += "}";
Run Code Online (Sandbox Code Playgroud)
同样,最好使用库(例如JSON.stringify)通过使用for循环创建对象,通过使用POST[i].name作为键和POST[i].value值添加属性,然后使用库将对象转换为JSON.
此外,您从索引开始并以索引1结束POST.length-2,因此排除索引0(第一个值)和POST.length-1(最后一个值).那是你真正想要的吗?