如何将JSON反序列化为JavaScript对象?

更新日期: 2019-12-21阅读: 1.9k标签: 序列化

JSON(JavaScript Object Notation)用于与Web服务器或RESTFull api交换数据,从Web服务器接收的数据始终是字符串。为了使用这些数据,您需要使用JSON.parse()解析数据,它将返回一个JavaScript对象或对象数组。

JSON.parse()方法用于解析以JSON格式编写并返回JavaScript对象的JSON字符串。

语法

JSON.parse( string, function )

参数:它接受下面列出的两个参数

● string:它是必需参数,它包含以JSON格式编写的字符串。

● function:可选参数,用于转换结果。为每个项目调用的函数


示例1:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>使用JSON.parse()方法将JSON反序列化为JavaScript对象</title>
	</head>

	<body>  
    <p>将JSON反序列化为JavaScript对象:</p>  
    <p id="demo"></p>  
    <script>  
        var obj = JSON.parse('{"var1":"Hello", "var2":"World!"}');  
          
        document.getElementById("demo").innerHTML  
                = obj.var1 + " " + obj.var2;  
    </script>  
</body>  
  
</html>

输出:

将JSON反序列化为JavaScript对象:
Hello World!

示例2:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>使用JSON.parse()方法将JSON反序列化为JavaScript对象</title>
	</head>

	<body>  
    <p>将字符串转换为日期对象:</p>  
    <p id="demo"></p>  
    <script>  
        var text = '{"name":" Pankaj_Singh","birth":"1996-12-14", "city":"Jhansi"}'; 
            var obj = JSON.parse(text); 
            obj.birth = new Date(obj.birth); 
            document.getElementById("demo").innerHTML =  
                             obj.name + ", " + obj.birth; 
    </script>  
</body>  
  
</html>

输出:

将字符串转换为日期对象:
Pankaj_Singh, Sat Dec 14 1996 08:00:00 GMT+0800 (中国标准时间)

支持的浏览器

● Chrome 4.0

● Firefox 3.5

● Opera 11.0

● Internet Explorer 8.0

● Safari 4.0

链接: https://www.fly63.com/article/detial/7544

Jquery如何序列化form表单数据为JSON对象

jquery中serialize()方法做的是将表单中的数据以htpp请求格式拼接成字符串。serialize确实是能够解决一般的提交数据,但是有时我们需要的是一个object对象,而不是字符串(比如jqgrid reload时设置查询条件参数,就需要object对象)。

JS对象序列化、对象的toString()与对象的valueOf()

当对象的value为undefined和Object时会被忽略,当toString和valueOf都存在时,在进行操作时,都会尝试转换成基本类型,先找valueOf,如果返回基本类型,这只调用valueOf,如果不是,比如是对象的话,就去找toString,如果也返回Object,就会报错

如何使用 JSON.stringify() 去序列化一个 Error?

最近在做 Node 服务端需求的时候,遇到了几次服务端报错的问题。打 log 发现均是一些 Error,但是它们都没法很好地透传给前端浏览器,出现问题只能查看服务端机器的日志,调试起来非常不方便。思考了一下

JavaScript 链式结构序列化详解

其实看看上面的代码,不难发现,if…else这种格式,其实就是数据结构中的单链表,那么,初步利用JavaScript实现单链表,如下:

JavaScript 中URL 查询字符串(query string)的序列与反序列化

在 JavaScript 中,可以使用 URLSearchParams 对象来处理 URL 中的查询字符串。序列化(将 JavaScript 对象转换为查询字符串)可以使用 URLSearchParams 对象的 append() 方法

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!