我有一个JSON对象,我想在Code Mirror中显示它。 Code Mirror只需要字符串。 当我执行JSON.stringify时,它会将值放在数组中而不是只是字符串。
例如。 这是JSON.stringify
的输出{
"version": "1.1",
"sid": "ManagementService",
"svcVersion": "0.1",
"oid": "getCurrentStatsForServiceTypes",
"params": {
"serviceTypes": "[\"rest\", \"wsdl\", \"database\", \"rss\"]"
}
}
我希望输出为......
{
"version": "1.1",
"sid": "ManagementService",
"svcVersion": "0.1",
"oid": "getCurrentStatsForServiceTypes",
"params": {
"serviceTypes":["rest", "wsdl", "database","rss"]
}
}
简而言之,我想将Type从Object转换为String而不影响值。
更新: JSON对象是
{
"version": "1.1",
"sid": "ManagementService",
"svcVersion": "0.1",
"oid": "getCurrentStatsForServiceTypes",
"params": {
"serviceTypes":["rest", "wsdl", "database","rss"]
}
}
我想要一个字符串。这样的事情应该有效。
'{
"version": "1.1",
"sid": "ManagementService",
"svcVersion": "0.1",
"oid": "getCurrentStatsForServiceTypes",
"params": {
"serviceTypes":["rest", "wsdl", "database","rss"]
}
}'
块引用
答案 0 :(得分:0)
如果您的serviceTypes
参数是一个数组,那么它应该序列化,因为您指示要序列化它。我有一种感觉,你在该属性中放入一个字符串,而不是数组。
当我对你的对象文字进行字符串化时,我得到了
"{"version":"1.1","sid":"ManagementService","svcVersion":"0.1","oid":"getCurrentStatsForServiceTypes","params":{"serviceTypes":["rest","wsdl","database","rss"]}}"
数组没有转义,它是一个数组。
答案 1 :(得分:0)
您的serviceTypes似乎不是数组,而是Object中的字符串。试试这个:
obj.params.serviceTypes = JSON.parse(obj.params.serviceTypes);
return JSON.stringify(obj);