一、什么是json?
json(javascript object notation)是一种轻量级的数据交换格式,由javascript语言中的对象和数组格式派生而来。 它已经成为现代应用程序中最常用的数据交换格式之一,因为它很容易被读取和编写,同时也易于机器解析和生成。
json本质上是一个字符串,它采用语法简单、具有自描述性,便于阅读和理解的方式来表示复杂数据。在web应用程序中,json常用于代替xml作为数据交换的格式。
二、将json转换为字符串
将json对象转换为字符串通常被称为“序列化”。 在javascript中,将json对象序列化为字符串很容易。json.stringify()可以完成这个任务。语法如下:
json.stringify(value[, replacer[, space]])
其中:
value:必需,要转换的json对象replacer:可选,用于控制转换过程的参数,可以是一个函数或一个数组space:可选,用于缩进输出的空格数。下面是一个简单的例子:
var obj = {name: "john", age: 30, city: "new york"};var str = json.stringify(obj);console.log(str); //输出{"name":"john","age":30,"city":"new york"}
在此示例中,我们将javascript对象obj序列化为json字符串。 可以看到输出了一个json格式化的字符串。
三、将json字符串转换为对象
javascript中的json.parse()方法可以将json格式的字符串转换为javascript对象。语法如下:
json.parse(text[, reviver])
其中:
text:必需,要解析的json字符串reviver:可选,解析器用于将结果中的每个(key,value)对修整后返回下面是一个简单的例子:
var str = '{"name":"john","age":30,"city":"new york"}';var obj = json.parse(str);console.log(obj); //输出{name: "john", age: 30, city: "new york"}
在此示例中,我们将json字符串解析为javascript对象。 可以看到输出了一个javascript对象。
四、完整的例子
下面是一个完整的例子,它演示了如何将json对象转换为字符串,然后再将其转换回原始对象:
// 定义json对象var person = { "name": "john", "age": 30, "city": "new york", "hobbies": ["reading", "sports", "music"], "married": false, "salary": null}// 序列化json对象为字符串var jsonstring = json.stringify(person);console.log(jsonstring);// 将json字符串解析回对象var personobject = json.parse(jsonstring);console.log(personobject);
在这个例子中,我们首先定义了一个json对象person,其中包含各种不同类型的属性。然后,我们使用json.stringify()方法将该对象序列化为一个字符串,然后使用json.parse()将其解析回原始对象。结果是一样的json对象。
五、总结
使用javascript的json.stringify()和json.parse()方法可以很容易地处理json格式的数据。这些方法也被用于web api中的数据交换,因为json是与人类易于理解的并且易于读写的格式,而且不需要像xml那样使用额外的标记来描述数据。所以在web开发中,使用json格式的数据交换已经成为一种通用的标准。
以上就是javascript json转str的详细内容。