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"]
    }
}

要するに、値に影響を与えずにタイプをオブジェクトから文字列に変換したいのです。

更新: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 に答える