将数组转换为有效的JSON字符串,而不使用JSON.stringify?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将数组转换为有效的JSON字符串,而不使用JSON.stringify?相关的知识,希望对你有一定的参考价值。
我正在尝试编写一个带有一些对象的函数,例如一个数字,一个字符串,一个列表或一个键值对的映射;并以字符串形式返回该输入的有效JSON表示形式。
我已经为简单的数字和字符串输入设置了其他json编码器:
Input => Output
a number with value 123 => 123 (string)
a string with value abc => "abc" (string)
但是我在转换数组,例如[1,“ 2”,3]]时遇到问题
Input => Output 1,2,three array => [1,2,"three"] (string)
这是我当前的代码:
var my_json_encode = function(input) if(typeof(input) === "string") return '"'+input+'"' if(typeof(input) === "number") return `$input` //This is causing my issue if(Array.isArray(input)) console.log(input)
我可以简单地添加并返回JSON.stringify(input)进行更改,但我不想使用它。我知道我可以为数字和字符串设置基本案例,从而创建某种递归解决方案。我对此感到受阻,我们将不胜感激
编辑:因此,下面在“答案”部分中提供了解决方案!谢谢:)
我正在尝试编写一个带有一些对象的函数,例如一个数字,一个字符串,一个列表或一个键值对的映射;并以字符串形式返回该输入的有效JSON表示形式。我有...
答案
对于数组,对项目采取递归方法。
另一答案
您已经具有将标量值转换为json值的功能。
以上是关于将数组转换为有效的JSON字符串,而不使用JSON.stringify?的主要内容,如果未能解决你的问题,请参考以下文章
将 JSON 字符串转换为 NSDictionary 时,并非所有键都有效