如何将JSON反序列化为JavaScript对象?
序列化是将对象转换为可通过网络传输的形式的过程。在JavaScript中,我们通常将对象序列化为JSON(或JavaScript对象表示法)格式。
要将JSON反序列化为JavaScript对象,我们需要使用JSON.parse()方法。
JavaScript对象表示法用于与Web服务器或RESTful API交换数据。我们从Web服务器获取的数据始终是字符串变量,为了使用它,我们需要使用JSON.parse()进行解析,它将返回一个JavaScript对象或数组对象。以下是parse()方法的语法
JSON.parse(string, function);
JSON.parse()方法始终以字符串格式接收其参数(即,我们必须用单引号将值括起来)。
示例1
在下面的示例中,我们传递一个名为text的变量,并使用JSON.parse()方法将其转换为对象格式。
<!DOCTYPE html> <html lang="en"> <head></head> <body> <script> var text = '{"name":" Aman Kumar","Company":"TutorialsPoint", "city":"Hyderabad"}'; var obj = JSON.parse(text); document.write(JSON.stringify(obj)); </script> </body> </html>
示例2
在下面的示例中,我们直接将文本值传递给JSON.parse()方法。数据转换后,我们将结果对象的內容打印到一个段落标签中。
<!DOCTYPE html> <html lang="en"> <head> </head> <body> <p id="demo"></p> <script> var obj = JSON.parse( '{"name":" Aman Kumar","Company":"TutorialsPoint", "city":"Hyderabad"}' ); document.getElementById("demo").innerHTML = obj.name + " " + obj.Company + " " + obj.city; </script> </body> </html>
示例3
在下面的示例中,我们将字符串元素数组传递给JSON.parse()方法。
<html> <body> <h2>Parsing a JSON Array.</h2> <p>JSON array will be parsed into a JavaScript array.</p> <p id="demo"></p> <script> const text = '[ "Tutorial", "Point", "Telangana", "Hyderabad" ]'; const JSArr = JSON.parse(text); document.getElementById("demo").innerHTML = JSArr; </script> </body> </html>
示例4
让我们来看另一个例子:
<html> <body> <script> const json = '{"result":true, "count":42}'; // Parse the object const obj = JSON.parse(json); document.write(obj.count,"<br>"); document.write(obj.result); </script> </body> </html>
广告