Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从数组中获取逗号分隔的字符串_Javascript_Jquery_Json - Fatal编程技术网

Javascript 从数组中获取逗号分隔的字符串

Javascript 从数组中获取逗号分隔的字符串,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"] }

我在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"
}

只需添加所有步骤:-

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)
,它就会将数据从字符串转换成对象。