编码是将数据转换成另一种形式的方法。在JSON的情况下,JSON被描述为JavaScript的对象,但其内容的数据格式只是一个字符串。实际上,读取json文件只是一个字符串,所以它不能像对象一样处理。编码将允许您将其用作JavaScript的对象。我们下面来具体看一下如何使用JavaScript编码json。
编码我们使用JSON.parse。
var json_s = '{"ID": 1,"name": "user01","gender": "women"}' console.log(typeof(json_s)) var json_o = JSON.parse(json_s) console.log(typeof(json_o)) console.log(json_o.ID)
json_s定义了json,json只是一个字符串通过JSON.parse将其编码为对象。
看完了编码,我们来看如何解码
解码是将编码版本返回其原始形式。
我们使用JSON.stringify函数返回字符串。
我们来看看代码
var json = '{"ID": 1,"name": "user01","gender": "women"}' console.log(typeof(json)) var encoded_json = JSON.parse(json) console.log(typeof(encoded_json)) var decoded_json = JSON.stringify(encoded_json) console.log(typeof(decoded_json))
运行结果如下
可以看到解码正确完成。
看完了上面的内容,下面我们就来进入正题,什么是json.stringify?如何使用?
json stringify 是一个解码JSON的函数。
让我们在使用json stringify进行解码的同时对其进行格式化
JSON.stringify()可以带三个参数。
第一个是编码值,即一个对象,如示例中所述。
第二个可以称为replacer并指定回调。
在这里并不会详细的解释,所以我将在代码中加入null。
第三个用于指定格式化此参数的缩进。
我们来看具体的代码
var json_obj = {"ID": 1,"name": "user01","gender": "women"} var decoded_json = JSON.stringify(json_obj, null, " ") console.log(decoded_json)
运行结果如下:会根据放入的空格缩进
放入空格多点,会看的清楚点,代码如下
var json_obj = {"ID": 1,"name": "user01","gender": "women"} var decoded_json = JSON.stringify(json_obj, null, " ") console.log(decoded_json)
结果如下
此外,虽然可以在其中添加空格,但很难看出明确指定了多少个缩进,所以也可以直接指定数值来进行缩进
var json_obj = {"ID": 1,"name": "user01","gender": "women"} var decoded_json = JSON.stringify(json_obj, null, 2) console.log(decoded_json)
结果如下
下面我们来看用json.stringify解码一个数组
代码如下
var arr = ["a","b","c"]; var decoded_json = JSON.stringify(arr) console.log(decoded_json) console.log(typeof(decoded_json))
运行结果如下:正确解码
对象中是否包含数组无关紧要
代码如下
var arr = {"test": ["a","b","c"]}; var decoded_json = JSON.stringify(arr) console.log(decoded_json) console.log(typeof(decoded_json))
运行结果如下
以上是JavaScript中的json.stringify如何使用的详细内容。更多信息请关注PHP中文网其他相关文章!