简体   繁体   English

如何不使用JSON.stringify将JSON转换为String?

[英]How to convert JSON to String without using JSON.stringify?

I've a JSON object and I want to display it in Code Mirror. 我有一个JSON对象,我想在代码镜像中显示它。 Code Mirror expects string only. 代码镜像仅应使用字符串。 When I do JSON.stringify it screws up the values where it is an array instead of just string. 当我执行JSON.stringify时,它会将值固定在一个数组而不是字符串上。

eg. 例如。 This is the output of JSON.stringify 这是JSON.stringify的输出

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

I want output as... 我想输出为...

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

In short I want to convert the Type from Object to String without affecting the value. 简而言之,我想在不影响值的情况下将类型从对象转换为字符串。

Update: JSON Object is 更新:JSON对象为

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

I want the same as a string. 我想和一个字符串一样。 Something like this should work. 这样的事情应该起作用。

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

Blockquote 块引用

If your serviceTypes parameter is an array, it should serialize as you indicate you want it to serialize. 如果您的serviceTypes参数是一个数组,则应按您希望对其进行序列化的方式进行序列化。 I have a feeling you are putting a string in that property, not an array. 我感觉到您正在将字符串放入该属性,而不是数组。

When I stringify your object literal i get 当我将您的对象字面量字符串化时,我得到

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

The array is not escaped, its an array. 该数组不会转义,它是一个数组。

It seems your serviceTypes are no array but a string in your Object. 看来您的serviceTypes不是数组而是Object中的字符串。 Try this: 尝试这个:

obj.params.serviceTypes = JSON.parse(obj.params.serviceTypes);
return JSON.stringify(obj);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用 JavaScript 在没有 JSON.stringify 的情况下将对象转换为字符串? - How to convert object to string without JSON.stringify using JavaScript? 如何 json.stringify() 一个字符串 - how to json.stringify() a string 将数组转换为有效的 JSON 字符串而不使用 JSON.stringify? - Converting array to valid JSON string without using JSON.stringify? 如何在不使用“JSON.stringify”方法的情况下将javascript对象转换为json? - How to convert javascript object into json without using “JSON.stringify” method? 使用JSON.stringify将对象转换为字符串显示空对象 - convert object to string using JSON.stringify show empty object 如何添加到现有的 JSON.stringify 字符串 - How to add to existing JSON.stringify string JSON.stringify和数字作为字符串 - JSON.stringify and number as string JSON.stringify(undefined)不是字符串 - JSON.stringify(undefined) is not a string 将 object 和/或带有对象的嵌套数组转换为有效的 JSON 字符串表示,而不使用 JSON.stringify? - Converting object and/or nested array with objects to valid JSON string representation without using JSON.stringify? 如何扩展JSON.Stringify()限制,以便将大型JavaScript数组转换为JSON字符串? - How to extend the JSON.Stringify() limitation, inorder to convert large javascript array to JSON string?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM