Javascript 从数组中获取逗号分隔的字符串
我在JS中有以下JSONJavascript 从数组中获取逗号分隔的字符串,javascript,jquery,json,Javascript,Jquery,Json,我在JS中有以下JSON { "url":"http://example.com/main.aspx", "report_template_id":"1", "interval_secs":"86400", "analysis_type":"lite", "email":"rokumar@example.com", "alerts":["num_domains", "med_load_time", "avg_load_time", "tot_req"] }
{
"url":"http://example.com/main.aspx",
"report_template_id":"1",
"interval_secs":"86400",
"analysis_type":"lite",
"email":"rokumar@example.com",
"alerts":["num_domains", "med_load_time", "avg_load_time", "tot_req"]
}
我希望删除警报列表并替换为逗号分隔的值,如下所示
{
"url":"http://example.com/main.aspx",
"report_template_id":"1",
"interval_secs":"86400",
"analysis_type":"lite",
"email":"rokumar@example.com",
"alerts":"num_domains,med_load_time,avg_load_time,tot_req"
}
只需添加所有步骤:- 1) 。将JSON放入变量中
data = {"url":"http://example.com/main.aspx","report_template_id":"1","interval_secs":"86400","analysis_type":"lite","email":"rokumar@example.com","alerts":["num_domains","med_load_time","avg_load_time","tot_req"]};
2) 。将JSON数据解析为对象假设JSON是一个字符串,首先执行typeof(data)
以清除该字符串。
data = JSON.parse(data);
3) 将警报列表更改为逗号分隔的值
data.alerts = data.alerts.join(',');
4) 转换回字符串
data = JSON.stringify(data)
所以数据看起来像
{
"url": "http://example.com/main.aspx",
"report_template_id": "1",
"interval_secs": "86400",
"analysis_type": "lite",
"email": "rokumar@example.com",
"alerts": "num_domains,med_load_time,avg_load_time,tot_req"
}
注意:-如果您只说
join()
,那么它也会起作用,因为默认分隔符是,
,只是为了澄清一下,我已经给出了这一点。您说需要的输出不是有效的json。你真的想破坏json。第二个json是预期的输出,我想删除警报列表,只使用逗号分隔的值。假设你输入了一个错别字,你想要的是一个字符串而不是几个逗号分隔的字符串,这是否正确?为什么要转换json数组(json格式支持使用)到逗号分隔的字符串?我想不出一个好的理由来做这件事。如果您后退几步,问问题data,那就太好了。alerts.concat()
也可以完成这项工作。这会引发一个错误<代码>未捕获类型错误:无法读取未定义的@user567797数据的属性“join”
这里是保存json的变量的名称。确保使用正确的变量名称。如果我执行警报(data.alerts)代码>它给我一个未定义的,而警报(数据)
提供了整个json。有些疑问是错的guess@user567797只要做一个typeof(data)
,如果它说string做一个data=JSON.parse(data)
,它就会将数据从字符串转换成对象。