0

我有一个 JSON 对象,我想在代码镜像中显示它。代码镜像只需要字符串。当我做 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"]
    }
}'

块引用

4

2 回答 2

0

如果您的serviceTypes参数是一个数组,它应该在您指示您希望它序列化时进行序列化。我有一种感觉,您在该属性中放置了一个字符串,而不是一个数组。

当我将您的对象文字字符串化时,我得到

"{"version":"1.1","sid":"ManagementService","svcVersion":"0.1","oid":"getCurrentStatsForServiceTypes","params":{"serviceTypes":["rest","wsdl","database","rss"]}}"

数组没有转义,它是一个数组。

于 2012-06-05T11:49:00.040 回答
0

看来您的 serviceTypes 不是数组,而是对象中的一个字符串。尝试这个:

obj.params.serviceTypes = JSON.parse(obj.params.serviceTypes);
return JSON.stringify(obj);
于 2012-06-05T11:52:55.483 回答